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