TypeScriptをReactに導入すれば、型チェックでバグを未然に防ぎ、開発速度とコードの信頼性を向上できます。
ありがちな悩みとしては「設定方法がわからない」「既存プロジェクトへの移行が怖い」といった声が聞かれます。
本記事では、初めて導入する方を想定し、CRA・Viteを使った新規作成から既存JavaScriptプロジェクトの移行まで、具体的な手順を丁寧に説明します。
今日から実践できる導入手順を提示し、副業や社内案件でもすぐに使える知識を得られます。
TypeScript を React プロジェクトに導入する手順 完全ガイド
結論:TypeScript導入は開発の勝ち筋
ReactとTypeScriptは相性抜群です。
型を定義することで、関数の入力・出力が明確になり、開発者間の認識齟齬も減らせます。
コード補完の精度も上がり、IDEのサポートも強化されます。
導入前の確認事項
プロジェクトの構成を見直す
導入前に以下の点をチェックしましょう。
- create-react-appやViteを使用しているか?
- BabelやWebpackの設定は独自か?
- JavaScriptファイルの拡張子は.jsか.jsxか?
構成によって導入方法が異なるため、まずは現状を把握しましょう。
新規プロジェクトにTypeScript導入
CRAで始める場合
1 | npx create-react-app my-app --template typescript |
Viteで始める場合
1 2 3 | npm create vite@latest my-app -- --template react-ts cd my-app npm install |
どちらもtsconfig.jsonが自動生成され、型定義も整った状態で開発を始められます。
既存JSプロジェクトへの移行方法
1. 必要パッケージの追加
1 | npm install --save-dev typescript @types /react @types /react-dom |
2. ファイルの拡張子変更
- .js → .ts
- .jsx → .tsx
3. tsconfig.jsonを追加
1 | npx tsc --init |
その後、jsx: "react"
を設定し、include
にsrc
フォルダを指定。
ESLint・PrettierとTypeScript設定
推奨される設定
1 | npm install --save-dev eslint @typescript-eslint /parser @typescript-eslint /eslint-plugin |
.eslintrc.json
設定例:
1 2 3 4 | { "parser": "@typescript-eslint/parser", "extends": ["plugin:react/recommended", "plugin:@typescript-eslint/recommended"] } |
Prettierと競合しないよう設定を調整することも大切です。
型定義の導入と型安全化の進め方
PropsとStateに型をつける
1 2 3 4 5 6 7 8 | type Props = { title: string; count: number; }; const Header = ({ title, count }: Props) => ( < h1 >{title} ({count})</ h1 > ); |
APIレスポンスに型を適用
1 2 3 4 5 6 7 8 9 | type User = { id: number; name: string; }; const fetchUser = async (): Promise< User > => { const res = await fetch('/api/user'); return res.json(); }; |
導入時のよくあるエラーと対策
JSX関連エラー
- 対処:tsconfig.jsonで
jsx: "react-jsx"
を明示
型 ‘any’ が出現する
- 対処:型アノテーションを追加 or 型定義を読み込む
まとめ:TypeScript導入で開発品質が上がる
TypeScriptの導入で、React開発はより安全で効率的になります。
初期は学習コストがありますが、それを乗り越えればバグの少ない堅牢なコードが書けるようになります。
副業や社内での信頼を得るためにも、TypeScriptの導入は非常に価値のある一歩です。