前回:JSXとは?JavaScriptの中でHTMLを書く不思議なルールの正体では、JavaScriptの中にHTMLのような見た目を書く「JSX」の基本を学びました。
今回は、Reactの最も強力な特徴である**「コンポーネント」を攻略します。 これを知ると、Webサイトを「1枚の大きなコード」ではなく、「レゴブロックのような部品の組み合わせ」**として作れるようになります。2026年のモダンな開発現場では欠かせない考え方です。
1. 「コンポーネント」とは何か?
例えば、SNSのタイムラインを想像してください。投稿が100件あっても、その1つひとつの「投稿カード」の見た目や動き(いいねボタンなど)は同じですよね?
Reactでは、この「投稿カード」を**一つの部品(コンポーネント)**として定義します。 一度作ってしまえば、あとは名前を呼び出すだけで何度でも使い回せるのです。
コンポーネント化するメリット
- 見やすい: コードが短く整理される。
- 直しやすい: 部品を1箇所修正すれば、使っている場所すべてが更新される。
- 共有しやすい: 他のプロジェクトでも同じ部品が使える。
2. コンポーネントを作る「2つのステップ」
コンポーネントを作る手順は非常にシンプルです。
- 定義する:
functionを作って、JSXをreturnする。 - 呼び出す: 別の場所で
<名前 />と書く。
ここで、第1回で少し触れた**「名前は大文字から始める」**というルールが重要になります。
3. 【実践】部品を作って並べてみよう
今回は「挨拶ボタン」という部品を作り、それを画面に3つ並べてみます。 前回作成した環境の App.jsx を書き換えて動かしてみましょう。
App.jsx(最小構成版)
JavaScript
import React from 'react';
// 1. 部品(コンポーネント)を定義する
// 名前は必ず大文字(HelloButton)で始めます
function HelloButton() {
return (
<button onClick={() => alert("こんにちは!")}>
挨拶するボタン
</button>
);
}
// 2. メインの画面(App)で部品を呼び出す
export default function App() {
return (
<div>
<h1>コンポーネントの世界へようこそ</h1>
<p>同じ部品を3回呼び出してみます:</p>
{/* 自作した部品をHTMLタグのように使う */}
<HelloButton />
<HelloButton />
<HelloButton />
<p>※1つ修正すれば、3つすべての挙動が変わります。</p>
</div>
);
}
4. コードの解説(JavaScript & React)
JavaScriptのポイント
- 関数の入れ子: JavaScriptでは関数の中に別の関数を書くこともできますが、Reactでは「部品(HelloButton)」と「画面全体(App)」を分けて定義するのが一般的です。
- 命令の再利用: 同じ関数を何度も実行しているだけなので、メモリ効率も良く、動作が安定します。
Reactのポイント
<HelloButton />(自己完結タグ): 中身に文字を書かない場合は、末尾に/をつけることでスッキリ書けます。- 大文字と小文字の区別:
<div>や<button>はHTML標準のタグ。<HelloButton>は私たちが作ったReact専用の部品。これを見分けるために、自作部品は大文字スタートにする必要があるのです。
5. 2026年の設計思想:コンポーネントは「小さく」作る
2026年現在、React開発で最も重視されているのは**「1つのコンポーネントに多くの役割を持たせないこと」**です。
「ボタン」という部品なら、色を変えたり文字を変えたりできるように設計します。今はまだ「全く同じボタン」が3つ並んでいるだけですが、次回学ぶ**「Props(プロップス)」**という機能を使えば、見た目は同じで「中身の文字だけ違うボタン」が作れるようになります。
今回のまとめ
- コンポーネントは、**UIの「部品」**である。
- 関数を作ってJSXを
returnするだけで作れる。 - 部品の名前は必ず大文字から始める。
- 一度作れば、タグとして何度でも呼び出せる。
次回予告:部品に「データ」を渡して個性を出そう
今のままでは、どのボタンを押しても「こんにちは!」としか言いません。これでは少し不便ですよね。 「Aボタンは『おはよう』」「Bボタンは『おやすみ』」と言わせるにはどうすればいいでしょうか?
次回、「第5回:Props(プロップス)の使い方:コンポーネント間でデータを受け渡す方法」。 部品に外から情報を流し込み、自由自在にカスタマイズする「Reactの対話術」をマスターしましょう。お楽しみに!
本日の宿題: HelloButton の中の alert のメッセージを書き換えて保存してみてください。3つのボタンすべての反応が一気に変わる「部品化」の威力を体験してみましょう!


コメント