【初心者向け】ReactでTypeScriptを使う方法を現役エンジニアが解説!

当サイトでは一部リンクに広告が含まれています
Reactアイコン

Reactは現代のWeb開発において非常に人気のあるJavaScriptライブラリです。その柔軟性と効率性から、多くの開発者に愛用されています。

一方、TypeScriptはJavaScriptに静的型付けを追加した言語で、大規模なアプリケーション開発において特に力を発揮します。

この記事では、ReactとTypeScriptを組み合わせた開発環境の構築方法と、その中での関数コンポーネントの活用方法について詳しく解説します!

  • ReactとTypeScriptの相性の良さとそのメリット
  • 環境構築の具体的な手順
  • TypeScriptを使用した関数コンポーネントの基本と応用
この記事を書いた人
筆者のプロフィールアイコン
  • 現役のフルスタックエンジニアとして活躍中
  • 開発チームリーダーとして複数プロジェクトをリード
  • 副業プログラミングスクール講師として数百名以上を指導してきた教育のプロ
  • プログラミングスクールのカリキュラム執筆経験あり
目次

ReactとTypeScriptの組み合わせについて

ReactとTypeScriptの相性

ReactはFacebookが開発したJavaScriptライブラリで、ユーザーインターフェースを構築するための強力なツールです。一方、TypeScriptはMicrosoftが開発した言語で、JavaScriptに静的型付けを追加しています。

これら二つの技術を組み合わせることで、以下のようなメリットが得られます:

  • 型安全性の向上によるバグの減少
  • IDEによる強力な自動補完と入力支援
  • コードの可読性と保守性の向上

TypeScriptをReactで利用するメリット

TypeScriptを使用することで、開発者はより安全で予測可能なコードを書くことができます。以下に具体例を示します。

JavaScriptの場合:

function greet(name) {
  return "こんにちは、" + name + "さん";
}

TypeScriptの場合:

function greet(name: string): string {
  return "こんにちは、" + name + "さん";
}

TypeScriptでは、関数の引数と戻り値の型を明示的に指定できます。これにより、誤った型の値が渡されるのを防ぎ、コードの信頼性が向上します。

ReactとTypeScriptの環境構築

必要なツールとライブラリ

ReactとTypeScriptの開発環境を構築するには、以下のツールとライブラリが必要です:

  1. Node.js(JavaScriptの実行環境)
  2. npm(Node.jsのパッケージマネージャー、Node.jsに同梱)
  3. TypeScript(JavaScriptの上位互換言語)
  4. create-react-app(Reactプロジェクトの雛形を作成するツール)

これらをインストールした後、以下のコマンドでReactとTypeScriptのプロジェクトを作成できます:

npx create-react-app プロジェクト名 --template typescript

TypeScriptの設定ファイルの説明

TypeScriptプロジェクトには、tsconfig.jsonという設定ファイルが必要です。このファイルでTypeScriptコンパイラの動作を細かく制御できます。以下は一般的な設定例です:

{
  "compilerOptions": {
    "target": "es5",
    "lib": ["dom", "dom.iterable", "esnext"],
    "allowJs": true,
    "skipLibCheck": true,
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "strict": true,
    "forceConsistentCasingInFileNames": true,
    "module": "esnext",
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "noEmit": true,
    "jsx": "react-jsx"
  },
  "include": ["src"]
}

この設定ファイルは、TypeScriptコンパイラに対して、ES5をターゲットとすることstrictモードを有効にすることJSXを使用することなどを指示しています。

TypeScriptでの関数コンポーネント

関数コンポーネントとは何か?

関数コンポーネントは、Reactにおけるコンポーネントの一種で、JavaScriptの関数として定義されます。これは、Reactの最新のベストプラクティスに沿った方法で、以下のような特徴があります:

  • シンプルで理解しやすい
  • パフォーマンスが良い
  • Hooksと呼ばれる機能を使用可能

TypeScriptでの関数コンポーネントの基本的な作り方

TypeScriptを使用した関数コンポーネントの基本的な形は以下のようになります:

import React from 'react';

const Greet: React.FC = () => {
  return 

こんにちは、皆さん!

; }

ここで、React.FCはFunction Componentの略で、この関数がReactの関数コンポーネントであることを示しています。

関数コンポーネントでpropsを使う方法

関数コンポーネントでpropsを使用する場合、以下のように型を定義します:

import React from 'react';

type Props = {
  name: string;
};

const Greet: React.FC = ({ name }) => {
  return 

こんにちは、{name}さん!

; }

このように、Propsの型を定義することで、コンポーネントが受け取るpropsの型安全性を確保できます。

関数コンポーネントで状態を扱う方法

関数コンポーネントで状態を扱うには、ReactのuseStateフックを使用します:

import React, { useState } from 'react';

const Counter: React.FC = () => {
  const [count, setCount] = useState(0);

  return (
    

カウント: {count}

); }

この例では、useStateフックを使用してcountという状態とその更新関数setCountを定義しています。TypeScriptを使用することで、countの型をnumber明示的に指定できます。

クラスコンポーネントとの違い

関数コンポーネントは、以前よく使用されていたクラスコンポーネントと比較して、いくつかの利点があります:

  • より簡潔で読みやすいコード
  • ステートやライフサイクルメソッドの扱いが直感的
  • パフォーマンスの最適化が容易

以上が、ReactとTypeScriptを組み合わせた開発環境の構築方法と、関数コンポーネントの基本的な使い方です。これらの知識を活用することで、より安全で保守性の高いReactアプリケーションを開発することができます。

スクロールできます
特徴関数コンポーネントクラスコンポーネント
コードの簡潔さ
状態管理
Hooksを使用

this.stateを使用
パフォーマンス
TypeScriptとの相性
関数コンポーネントとクラスコンポーネントの比較

ReactとTypeScriptの組み合わせは、モダンなWeb開発において非常に強力なツールとなります。特に関数コンポーネントを活用することで、より保守性の高い、効率的なコードを書くことができます。

この記事で学んだ内容を実践し、より良いReactアプリケーションの開発に活かしていきましょう!

React を効率的に身につける勉強法は?

React には興味があっても、プログラミング学習をはじめたばかりであれば、以下のような疑問を持つかもしれません。

  • Reactエンジニアとして活躍するために何をすればいい?
  • 何から勉強すればいいんだろう?
  • 絶対に転職を成功させるには?

React は習得が比較的難しいため、勉強法の選び方を間違うと時間・労力・お金が無駄になってしまいます…。

そのため、こちらの記事を参考に、ご自身に最適な学習方法を選んでみませんか?

目次