カテゴリ: React 更新日: 2026/02/01

ReactとTypeScriptの基本:関数コンポーネントと型の書き方(FC型の是非)を徹底解説!

関数コンポーネントと型の書き方(FC型の是非)
関数コンポーネントと型の書き方(FC型の是非)

先生と生徒の会話形式で理解しよう

生徒

「先生、Reactの関数コンポーネントってどうやって書くんですか?」

先生

「Reactの関数コンポーネントは、JavaScriptやTypeScriptで関数を作るように簡単に書けるんだ。とてもシンプルで人気のある書き方なんだよ。」

生徒

「TypeScriptを使うと型をつけられるって聞いたけど、具体的にはどうやるんですか?」

先生

「そのとおり!Propsに型をつけて安全に開発できるようになるんだ。そして、よく議論になるのがFC型(FunctionComponent型)を使うかどうかなんだ。今日はその違いや書き方を詳しく説明するね。」

1. Reactの関数コンポーネントとは?

1. Reactの関数コンポーネントとは?
1. Reactの関数コンポーネントとは?

Reactの関数コンポーネントとは、その名の通り「関数の形をしたコンポーネント」です。従来はクラスコンポーネントがよく使われていましたが、現在ではシンプルでわかりやすい関数コンポーネントが主流です。

たとえば「挨拶を表示するコンポーネント」を作る場合、関数コンポーネントならとても短いコードで書けます。TypeScriptを使うと、受け取るデータ(Props)の型を定義できるので、間違ったデータが渡されたときに警告してくれる仕組みがあります。

2. TypeScriptで関数コンポーネントを書く基本

2. TypeScriptで関数コンポーネントを書く基本
2. TypeScriptで関数コンポーネントを書く基本

まずはPropsに型をつけて関数コンポーネントを書く基本的な例を見てみましょう。Propsとは、親コンポーネントから子コンポーネントに渡す値のことです。これは「お弁当箱に入れる具材」のようなイメージで、親が子に必要な情報を渡す役割を果たします。


import React from "react";

interface HelloProps {
  name: string;
}

function Hello({ name }: HelloProps) {
  return <h1>こんにちは、{name}さん!</h1>;
}

export default Hello;
(画面に「こんにちは、太郎さん!」と表示されます)

このようにinterfaceを使うと、Propsの中身を「必ず文字列(string)」と指定できるので、誤って数字を渡したときにTypeScriptがエラーを出してくれます。

3. FC型(FunctionComponent型)とは?

3. FC型(FunctionComponent型)とは?
3. FC型(FunctionComponent型)とは?

ReactにはReact.FCという型が用意されています。これは「関数コンポーネントの型を簡単に書けるようにする仕組み」です。FCはFunctionComponentの略で、関数コンポーネントであることを明示する役割を持っています。


import React, { FC } from "react";

interface HelloProps {
  name: string;
}

const Hello: FC<HelloProps> = ({ name }) => {
  return <h1>こんにちは、{name}さん!</h1>;
};

export default Hello;
(Propsを受け取って「こんにちは、花子さん!」と表示されます)

このように書くと「Helloは関数コンポーネントであり、PropsはHelloPropsです」と明確に宣言できます。コードを読む人にとってわかりやすいメリットがあります。

4. FC型を使うメリットとデメリット

4. FC型を使うメリットとデメリット
4. FC型を使うメリットとデメリット

FC型には便利な点と注意すべき点の両方があります。

  • メリット:コードを読む人に「これは関数コンポーネントですよ」と伝えやすい。
  • メリット:Propsの型を簡単に定義できる。
  • デメリット:FC型を使うと暗黙的にchildrenという特別なPropsが入ってしまうため、意図せず扱う可能性がある。
  • デメリット:現在のReact公式ドキュメントでは必ずしもFC型を推奨していない。

そのため、実務では「FC型を使うチーム」と「使わないチーム」があります。重要なのはプロジェクトのルールに合わせることです。

5. FC型を使わない書き方

5. FC型を使わない書き方
5. FC型を使わない書き方

多くのプロジェクトでは、関数そのものに型をつけずにPropsだけ定義する書き方が主流になっています。この方法はシンプルで、余計な機能を持たないため管理がしやすいという特徴があります。


interface WelcomeProps {
  user: string;
}

const Welcome = ({ user }: WelcomeProps) => {
  return <p>ようこそ、{user}さん!</p>;
};
(Propsに「user=太郎」を渡すと「ようこそ、太郎さん!」と表示されます)

この書き方なら暗黙的なchildrenは含まれず、シンプルで直感的に扱えます。初心者にも理解しやすい方法です。

6. 初心者が覚えるべきポイント

6. 初心者が覚えるべきポイント
6. 初心者が覚えるべきポイント

ここまでの内容を整理すると、ReactとTypeScriptを使う初心者がまず覚えるべきポイントは以下の通りです。

  • 関数コンポーネントはシンプルに関数の形で書ける。
  • Propsにはinterfaceを使って型をつける。
  • FC型を使うかどうかはプロジェクトのルール次第。
  • 初心者はまず「FC型を使わないシンプルな方法」から覚えるのがおすすめ。

こうした基本を身につけることで、ReactとTypeScriptを安心して組み合わせて使えるようになります。複雑なアプリを作る前に、この基礎をしっかり理解しておくことが大切です。

カテゴリの一覧へ
新着記事
New1
React
Reactのセレクトボックス管理を完全解説!初心者でもわかるReactフォーム処理
New2
React
ReactのuseEffectで非同期処理をキャンセルする方法を初心者向けに解説
New3
React
Reactの条件分岐の使い方を完全ガイド!初心者でもわかるReactの条件分岐
New4
React
ReactとTypeScriptの基本:フォームイベントを扱う方法を徹底解説!初心者向け入門ガイド
人気記事
No.1
Java&Spring記事人気No1
React
ViteでReact開発環境を構築する手順を完全ガイド!初心者でもできるReactの環境構築
No.2
Java&Spring記事人気No2
React
ReactのPropsを使ってコンポーネントの表示を動的に切り替える方法を解説!初心者でもわかるReact入門
No.3
Java&Spring記事人気No3
React
Reactとは?初心者でもわかるReact.jsの基本概念と特徴をやさしく解説
No.4
Java&Spring記事人気No4
React
ReactでonChangeイベントを使ってフォーム入力値を管理する方法を初心者向けに解説
No.5
Java&Spring記事人気No5
React
ReactとTypeScriptの環境構築をやさしく解説!Viteとtsconfigの設定も丁寧に紹介
No.6
Java&Spring記事人気No6
React
ReactのuseStateとuseEffectでよくあるエラーと解決方法ガイド!初心者でもわかるReactフック
No.7
Java&Spring記事人気No7
React
Reactの環境構築とは?初心者でもできるセットアップ手順まとめ
No.8
Java&Spring記事人気No8
React
Reactで複数イベントをまとめて処理!共通関数化でコード整理