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

Propsとは?親コンポーネントからデータを渡す方法をReact初心者向けに解説!

Propsとは?親コンポーネントからデータを渡す方法
Propsとは?親コンポーネントからデータを渡す方法

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

生徒

「Reactのpropsって何ですか?なんだかよくわからなくて…」

先生

「propsは、親コンポーネントから子コンポーネントにデータを渡す仕組みですよ。」

生徒

「へぇ、どうやって使うんですか?何か特別なことが必要なんですか?」

先生

「難しくないですよ。具体的にReactのコードを見ながら学んでいきましょう!」

1. Reactのprops(プロップス)とは?

1. Reactのprops(プロップス)とは?
1. Reactのprops(プロップス)とは?

props(プロップス)は、Reactで使われる重要な機能のひとつで、「プロパティ(property)」の略です。

Reactではコンポーネントをたくさん作って画面を構築しますが、その中で「親から子に情報を渡したい」と思ったときに使うのがpropsです。

たとえば、「お名前を表示する」コンポーネントに、親コンポーネントから「たろう」という文字列を渡すようなときに使います。

2. propsを使って文字を渡す基本例

2. propsを使って文字を渡す基本例
2. propsを使って文字を渡す基本例

Reactでは、関数の引数としてpropsを受け取り、props.◯◯のようにして使います。以下に基本的な例を紹介します。

子コンポーネント(Hello.js)


import React from "react";

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

export default Hello;

親コンポーネント(App.js)


import React from "react";
import Hello from "./Hello";

function App() {
  return (
    <div>
      <Hello name="たろう" />
    </div>
  );
}

export default App;
(画面に「こんにちは、たろうさん!」と表示されます)

このように、name="たろう"と指定することで、親コンポーネント(App)から子コンポーネント(Hello)へ「たろう」というデータを渡せます。

3. 複数のpropsを渡して使ってみよう

3. 複数のpropsを渡して使ってみよう
3. 複数のpropsを渡して使ってみよう

propsは複数渡すこともできます。たとえば「名前」と「年齢」を表示するコンポーネントも作れます。

Profileコンポーネント


import React from "react";

function Profile(props) {
  return (
    <div>
      <p>名前:{props.name}</p>
      <p>年齢:{props.age}歳</p>
    </div>
  );
}

export default Profile;

Appコンポーネントで呼び出す


import React from "react";
import Profile from "./Profile";

function App() {
  return (
    <div>
      <Profile name="はなこ" age={25} />
    </div>
  );
}

export default App;
(画面に「名前:はなこ」「年齢:25歳」と表示されます)

このように、文字列だけでなく数字もpropsで渡せます。数字を渡すときは{25}のように{}で囲みます。

4. propsを分割代入(分割して取り出す)で書いてみる

4. propsを分割代入(分割して取り出す)で書いてみる
4. propsを分割代入(分割して取り出す)で書いてみる

propsをもっとシンプルに書く方法として、分割代入(ぶんかつだいにゅう)という書き方があります。

これは、propsというオブジェクトからnameageなどを直接取り出して使える便利な記述です。


import React from "react";

function Profile({ name, age }) {
  return (
    <div>
      <p>名前:{name}</p>
      <p>年齢:{age}歳</p>
    </div>
  );
}

export default Profile;

このように書くことで、props.nameprops.ageと書かなくてもよくなり、コードがすっきりします。

5. propsの値は読み取り専用(変更できない)

5. propsの値は読み取り専用(変更できない)
5. propsの値は読み取り専用(変更できない)

propsは、読み取り専用です。子コンポーネントの中でpropsの値を書き換えることはできません。

もし別の値にしたい場合は、親コンポーネントから渡す値を変える必要があります。

この「一方向のデータの流れ」は、Reactの特徴の一つで、データの動きがシンプルでわかりやすくなります。

6. propsに関数を渡すこともできる

6. propsに関数を渡すこともできる
6. propsに関数を渡すこともできる

propsでは、「値」だけでなく「関数(function)」を渡すこともできます。たとえば、ボタンをクリックしたときの動作を親が決めたいときに便利です。

Buttonコンポーネント


import React from "react";

function Button({ onClick }) {
  return (
    <button onClick={onClick}>押してね</button>
  );
}

export default Button;

Appコンポーネントで関数を渡す


import React from "react";
import Button from "./Button";

function App() {
  const handleClick = () => {
    alert("ボタンが押されました!");
  };

  return (
    <div>
      <Button onClick={handleClick} />
    </div>
  );
}

export default App;
(ボタンを押すと「ボタンが押されました!」というアラートが表示されます)

このように、親から関数を渡して子コンポーネントの中で使うことも可能です。

まとめ

まとめ
まとめ

propsの役割を全体から振り返ろう

この記事では、Reactにおけるpropsの基本的な考え方から、実際の使い方までを初心者向けに丁寧に解説してきました。 propsは、親コンポーネントから子コンポーネントへデータを渡すための仕組みであり、 Reactのコンポーネント設計を理解するうえで欠かせない重要な要素です。 Reactでは画面を小さな部品(コンポーネント)に分けて構築しますが、 その部品同士をつなぐ役割を担っているのがpropsだと言えます。

文字列や数値といったシンプルなデータだけでなく、 複数の値をまとめて渡したり、関数を渡したりできる点もpropsの大きな特徴です。 これにより、子コンポーネントは「見た目や役割」に専念し、 実際の処理やデータ管理は親コンポーネントが担当するといった、 分かりやすい役割分担が可能になります。 この考え方は、Reactらしい設計思想の中心にあります。

propsと状態(state)の違いを意識しよう

Reactを学び始めたばかりの方が混乱しやすいポイントとして、 propsとstateの違いがあります。 propsは親から渡される変更できない値であり、 子コンポーネント側では読み取り専用として扱います。 一方でstateは、コンポーネント自身が管理し、変化していく値です。

「親がデータを持ち、子は受け取って表示する」 という一方向のデータの流れを意識すると、 propsの役割がとても分かりやすくなります。 このルールを守ることで、データの流れが複雑にならず、 バグの少ないReactアプリケーションを作ることができます。

サンプルプログラムでpropsの使い方を再確認

ここで、propsを使って親コンポーネントから子コンポーネントへ データと関数を渡す基本的なサンプルをあらためて確認してみましょう。 Reactでよく使われる典型的な構成です。


import React from "react";

function Message({ text, onButtonClick }) {
  return (
    <div>
      <p>{text}</p>
      <button onClick={onButtonClick}>クリック</button>
    </div>
  );
}

function App() {
  const handleClick = () => {
    alert("親コンポーネントの処理が実行されました");
  };

  return (
    <div>
      <Message
        text="propsでメッセージを表示しています"
        onButtonClick={handleClick}
      />
    </div>
  );
}

export default App;

この例では、文字列データと関数の両方をpropsとして子コンポーネントに渡しています。 子コンポーネントは受け取ったpropsを使って表示やイベント処理を行い、 実際の処理内容は親コンポーネントが管理しています。 この構造を理解できると、Reactのコンポーネント設計が一気に分かりやすくなります。

propsを使いこなすメリット

propsを正しく使えるようになると、Reactのコードは格段に読みやすくなります。 コンポーネントの再利用性が高まり、同じ部品をさまざまな場面で使い回すことができます。 また、親と子の役割がはっきり分かれるため、 大きなアプリケーションでも構造が整理され、保守しやすくなります。

初心者のうちは、まず「propsは親から子へ渡すもの」「子では変更できない」という 基本ルールをしっかり押さえることが大切です。 この基礎が身につけば、状態管理やイベント処理など、 次のステップもスムーズに理解できるようになります。

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

生徒

「propsって難しいと思っていましたが、 親から子にデータを渡すだけだと考えると分かりやすくなりました。」

先生

「その理解で正解です。 propsはReactのコンポーネントをつなぐ大切な役割を持っています。」

生徒

「関数も渡せるのが便利ですね。 親で処理をまとめられるのが分かりました。」

先生

「そうですね。 役割分担を意識すると、Reactのコードはとても整理しやすくなります。」

生徒

「まずはpropsの基本をしっかり身につけて、 コンポーネント分割に慣れていきたいです。」

先生

「その姿勢が大切です。 propsを理解できれば、Reactの基礎はかなり固まっていますよ。」

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

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

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

Reactのpropsとは何ですか?初心者でもわかるように説明してほしいです。

Reactのprops(プロップス)は、親コンポーネントから子コンポーネントへデータを渡すための仕組みです。プロパティ(property)の略で、Reactで複数のコンポーネントを使ってアプリを作るときにとても重要な概念です。
カテゴリの一覧へ
新着記事
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のカスタムフックの作り方を完全ガイド!再利用可能なロジックを切り出す仕組み
No.5
Java&Spring記事人気No5
React
ReactでFetch APIのローディング状態を管理する方法|初心者にもわかる解説
No.6
Java&Spring記事人気No6
React
Reactでファイルアップロードを実装する方法を解説!Fetch APIで画像やPDFを送る仕組みを初心者向けに紹介
No.7
Java&Spring記事人気No7
React
create-react-appでReactプロジェクトを作成する手順を初心者向けに完全解説!
No.8
Java&Spring記事人気No8
React
ReactのuseStateとuseEffectでよくあるエラーと解決方法ガイド!初心者でもわかるReactフック