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

ReactのPropsを使ってコンポーネントの表示を動的に切り替える方法を解説!初心者でもわかるReact入門

Propsを使ってコンポーネントの表示を動的に切り替える方法
Propsを使ってコンポーネントの表示を動的に切り替える方法

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

生徒

「Reactで同じコンポーネントでも、表示内容を変えることはできますか?」

先生

「はい、できます。Props(プロップス)を使えば、同じコンポーネントでも表示を動的に切り替えられるんです。」

生徒

「動的に切り替えるってどういう意味ですか?」

先生

「例えば、同じ『ボタン』のコンポーネントでも、あるときは『保存』と表示し、別のときは『削除』と表示するようにできますよ。」

生徒

「なるほど!それってどうやって書くんですか?」

先生

「では、具体的にコードを書きながらPropsの使い方を見ていきましょう。」

1. Propsでコンポーネントを使い回すとは?

1. Propsでコンポーネントを使い回すとは?
1. Propsでコンポーネントを使い回すとは?

ReactのProps(プロップス)とは、コンポーネントに“外から渡す追加情報”のことです。コンポーネントは、いわば「同じ形の器」のようなものですが、Propsを渡すことで、その器の中身だけを自由に変えられるようになります。これによって、同じコンポーネントでも役割を切り替えながら使い回すことができ、開発がとても効率的になります。

例えば、同じボタンコンポーネントでも、Propsに違う文字を渡せば、表示内容だけを簡単に変更できます。これは、家の設計図は同じでも、壁紙や家具を変えるだけで雰囲気が変わるのと同じ仕組みです。「ボタンの形は共通だけど、書かれる文字はその都度変えたい」そんな場面でPropsが活躍します。

よりイメージしやすいように、以下のようなシンプルなボタンコンポーネントの例を見てみましょう。Propsを使うことで、1つのコンポーネントが何通りにも姿を変えられることが分かります。


import React from "react";

function SimpleButton(props) {
  return <button>{props.text}</button>;
}

function App() {
  return (
    <div>
      <h1>Propsで表示を変える例</h1>
      <SimpleButton text="保存" />
      <SimpleButton text="削除" />
      <SimpleButton text="編集" />
    </div>
  );
}

export default App;
(画面には「保存」「削除」「編集」と書かれた3つのボタンが並びます)

このように、Propsはコンポーネントの表示を柔軟に変える“設定値”のようなものです。プログラミング未経験の方でも「同じ部品に違うラベルを貼って使うイメージ」と考えると理解しやすいでしょう。Propsを使うことで、コードの重複を減らしつつ、見た目と役割を自由に切り替えられるようになります。

2. Propsを使った動的表示の基本コード

2. Propsを使った動的表示の基本コード
2. Propsを使った動的表示の基本コード

ここでは、Propsを使ってコンポーネントの表示内容を自由に切り替える、一番基本的な例を紹介します。Propsは「コンポーネントに渡す情報」のようなもので、渡された値に応じて見た目を変えられるようになります。特にボタンのようなよく使うパーツは、毎回新しく作るのではなく、Propsで表示を差し替えながら使い回すととても便利です。


import React from "react";

// 共通ボタンコンポーネント
function MyButton(props) {
  return <button>{props.label}</button>;
}

// ボタンを使うAppコンポーネント
function App() {
  return (
    <div>
      <h1>Propsでボタンの文字を切り替える例</h1>
      <MyButton label="保存する" />
      <MyButton label="削除する" />
      <MyButton label="編集する" />
    </div>
  );
}

export default App;
(「保存する」「削除する」「編集する」と書かれた3つのボタンが表示されます)

このサンプルでは、MyButtonというひとつのコンポーネントに対して、labelというPropsを渡しています。Propsに違う文字を渡すことで、同じボタンでも用途に応じて表示を変えられます。プログラミング初心者でも「ボタンの形は同じだけど、中に入れる文字を渡しているだけ」と考えるととても理解しやすい仕組みです。

たった数行のコードでも、Propsのおかげでコンポーネントが柔軟に変化します。もしボタンのデザインを変えたくなった場合も、MyButtonを1箇所修正するだけで、すべてのボタンに自動で変更が反映されるため、管理がとても楽になります。

3. 条件によってPropsを変える

3. 条件によってPropsを変える
3. 条件によってPropsを変える

ここでは、アプリの状態に応じてPropsを切り替える基本的な方法を紹介します。Reactでは「状況によって表示内容を変えたい」というケースがよくあります。例えば、ログイン前とログイン後でボタンの文言を変えたい場合などが典型的です。こうした場面でも、Propsを使えばシンプルなコードで直感的に実装できます。


import React from "react";

// 状態によって表示を変えるボタン
function ActionButton(props) {
  return <button>{props.label}</button>;
}

function App() {
  const isLoggedIn = true; // 状態の例:ログインしているかどうか

  return (
    <div>
      <h1>ログイン状態による表示切り替え</h1>
      {isLoggedIn ? (
        <ActionButton label="ログアウト" />
      ) : (
        <ActionButton label="ログイン" />
      )}
    </div>
  );
}

export default App;
(ログインしている場合は「ログアウト」、ログインしていなければ「ログイン」と表示されます)

このサンプルでは、isLoggedInという変数を使って状態を判定し、必要に応じて渡すPropsを切り替えています。表示されるボタンは常に1つですが、状況によって文言が変わることで、より現実のアプリに近いインタラクションを再現できます。

プログラミング未経験の方は、「条件によって違うラベルを渡しているだけ」と考えると理解しやすいでしょう。同じコンポーネントを使い回しながら、Propsを変更するだけで役割を切り替えられるため、コードの見通しもよくなり、アプリの拡張もしやすくなります。

4. Propsでアイコンや色を変える応用例

4. Propsでアイコンや色を変える応用例
4. Propsでアイコンや色を変える応用例

Propsは文字だけでなく、色やアイコンのようなスタイルを切り替えるのにも活用できます。例えば、同じボタンでも「成功の緑ボタン」と「警告の赤ボタン」を作ることができます。


import React from "react";

function StyledButton(props) {
  const style = {
    backgroundColor: props.color,
    color: "white",
    padding: "10px 20px",
    border: "none",
    borderRadius: "5px",
    margin: "5px"
  };

  return <button style={style}>{props.label}</button>;
}

function App() {
  return (
    <div>
      <h1>色を切り替えるボタン</h1>
      <StyledButton label="成功" color="green" />
      <StyledButton label="警告" color="red" />
    </div>
  );
}

export default App;
(「成功」は緑色のボタン、「警告」は赤色のボタンとして表示されます)

この例では、Propsにlabelだけでなくcolorも渡しています。これにより、コンポーネントを再利用しながらデザインや見た目を柔軟に切り替えることができます。

5. Propsを使うメリットを理解しよう

5. Propsを使うメリットを理解しよう
5. Propsを使うメリットを理解しよう

Propsを使って表示を動的に切り替える方法を学んできましたが、そのメリットは次のとおりです。

  • 同じコンポーネントを何度も書かずに再利用できる
  • 変更が必要なときもPropsを差し替えるだけで済む
  • 見た目や動きを簡単に切り替えられるので、メンテナンス性が高まる

プログラミング未経験の方でも、Propsは「コンポーネントに渡す設定値」と覚えておけば理解しやすいです。テレビのリモコンの「入力切替ボタン」をイメージするとわかりやすいでしょう。テレビ本体は同じでも、入力の切り替えによって表示内容(地上波、BS、HDMIなど)が変わります。Propsもまさに同じような役割を果たしています。

まとめ

まとめ
まとめ

ReactのPropsを使ったコンポーネントの動的表示切り替えは、初心者にとって理解することで一気に開発の幅が広がる重要な考え方です。Propsによって文字や色、ボタンの種類、画面の状態に応じた出し分けなどを柔軟に変更でき、ひとつのコンポーネントを複数の用途に応用できるのが大きな魅力です。特に「保存」「削除」「編集」のように表示内容が頻繁に変わる場面では、Propsを利用することで重複したコードを書く必要がなくなり、メンテナンスも容易になります。コンポーネントを再利用しやすい形で設計することは、Reactを学ぶうえで欠かせない重要ポイントとなります。また、Propsと条件分岐を組み合わせれば、ログイン状態やフラグの有無などによって表示を変える動的UIが簡単に実現できます。さらに、色やスタイルをPropsに渡すことで、より直感的で視覚的に分かりやすいUIを構築できるのも大きな利点です。Propsという「外から設定を受け取る仕組み」を活かし、用途に応じてコンポーネントの見た目や役割を柔軟に変えられる点こそ、Reactの再利用性を高める最重要の基礎といえるでしょう。

Propsを使った応用サンプル

ここでは、コンポーネントの役割と色、さらにアイコンをPropsで切り替える応用例を示します。


import React from "react";

function IconButton(props) {
  const style = {
    backgroundColor: props.color,
    color: "white",
    padding: "10px 20px",
    borderRadius: "5px",
    display: "inline-flex",
    alignItems: "center",
    margin: "6px"
  };

  return (
    <button style={style}>
      <span className="me-2">{props.icon}</span>
      {props.label}
    </button>
  );
}

function App() {
  return (
    <div>
      <h1>Propsで色やアイコンを切り替える例</h1>
      <IconButton label="保存" color="green" icon="✔" />
      <IconButton label="警告" color="red" icon="⚠" />
      <IconButton label="編集" color="blue" icon="✎" />
    </div>
  );
}

export default App;

このサンプルでは、Propsにlabelcolorに加えてiconも渡すことで、より視覚的にわかりやすい表示を実現しています。Propsは複数の値をまとめて扱うことができるため、UIのパターンを増やしたいときにも非常に便利です。複雑なUIであっても、Propsを上手に活用することでコンポーネントの数を増やしすぎず、整理されたコード構成を保つことができます。特にプロジェクトが大きくなると、小さなコンポーネントを組み合わせて画面全体を構築するスタイルが主流となるため、Propsを通じた柔軟な受け渡しは欠かせません。また、今回紹介した色やアイコンの切り替え以外にも、サイズ、幅、高さ、フォントなどのスタイルをProps経由で制御することも一般的で、画面の用途に応じたコンポーネントカスタマイズの幅がさらに広がります。

Propsはコンポーネントを再利用しやすくするだけではなく、アプリ全体の見通しを良くし、条件による分岐をわかりやすく整理できるという利点もあります。たとえば、ログイン中かどうかによってボタンの表示を切り替える場合や、エラーメッセージの種類によってテキストや色を変更する場合など、Propsの活用次第で見た目と機能のどちらも柔軟に切り替えることが可能です。こうした特性によって、Reactアプリは多様な画面構成を効率良く作成でき、ユーザーの使いやすさを高めるUIデザインにもつながります。初心者のうちにPropsの基本と応用を押さえておくことで、より実践的で表現力豊かなアプリ開発が実現し、プロジェクトの規模が大きくなっても困らない基礎スキルが身につくでしょう。

先生と生徒の振り返り会話

生徒

「Propsを使えば同じコンポーネントでもいろいろな表示に切り替えられることがよく分かりました。特に、色やアイコンまで変えられるのは便利ですね。」

先生

「その通りです。Propsは見た目だけでなく動きや機能も切り替えられるので、Reactを使ううえで非常に重要な考え方になりますよ。」

生徒

「ログイン状態に応じてボタンを変える例も分かりやすかったです。条件分岐と組み合わせると、本当に動的なUIが作れるんだと実感しました。」

先生

「まさにそこがポイントです。Propsと条件式の組み合わせは、実務でもよく使われる基本パターンなんですよ。使いこなせるようになると画面構成の幅がぐっと広がります。」

生徒

「今回の応用例のコードも、ひとつのコンポーネントでここまで変えられるんだと驚きました。もっと練習して慣れていきたいです。」

先生

「ぜひ続けてみてください。PropsはReactの基礎ですが、理解が深まるほどアプリの表現力も高まりますよ。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

ReactのPropsとは何ですか?初心者でも理解できるように教えてください。

ReactのPropsとは、コンポーネントに外部から値を渡す仕組みのことです。表示するテキストやスタイルなどを柔軟に切り替えるために使います。
カテゴリの一覧へ
新着記事
New1
React
Reactコンポーネントの再利用と分割を完全マスター!初心者でもわかるコンポーネント設計
New2
React
ReactでAxiosインターセプターの使い方を完全ガイド!初心者でもわかるリクエストとレスポンスの処理方法
New3
React
JSXの書き方!初心者でもわかるReactタグと属性の基本ルール解説
New4
React
ReactとDockerを使った開発環境構築の基本を徹底解説!初心者でもわかるReactとDockerの連携方法
人気記事
No.1
Java&Spring記事人気No1
React
ReactでonChangeイベントを使ってフォーム入力値を管理する方法を初心者向けに解説
No.2
Java&Spring記事人気No2
React
ReactとTypeScriptの環境構築をやさしく解説!Viteとtsconfigの設定も丁寧に紹介
No.3
Java&Spring記事人気No3
React
Reactのイベントハンドリングのアンチパターンまとめ!初心者でもわかる注意点
No.4
Java&Spring記事人気No4
React
ReactでFetch APIのローディング状態を管理する方法|初心者にもわかる解説
No.5
Java&Spring記事人気No5
React
Reactのカスタムフックの作り方を完全ガイド!再利用可能なロジックを切り出す仕組み
No.6
Java&Spring記事人気No6
React
create-react-appでReactプロジェクトを作成する手順を初心者向けに完全解説!
No.7
Java&Spring記事人気No7
React
Reactのフォーム処理でよくあるエラーと解決法を完全解説!初心者でも安心して学べるReact入門
No.8
Java&Spring記事人気No8
React
Reactでファイルアップロードを実装する方法を解説!Fetch APIで画像やPDFを送る仕組みを初心者向けに紹介