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

ReactのJSXでスプレッド構文を使ってPropsを渡す方法を完全ガイド!初心者でもわかるPropsの渡し方

JSXでスプレッド構文を使ってPropsを渡す方法
JSXでスプレッド構文を使ってPropsを渡す方法

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

生徒

「Reactでコンポーネントにいろんな値を渡すとき、毎回同じようなPropsを書くのが面倒です…」

先生

「それなら、JSXでスプレッド構文を使う方法がおすすめですよ!」

生徒

「スプレッド構文ってなんですか?どうやってPropsを渡すんですか?」

先生

「じゃあ、Propsとスプレッド構文の基本から順番に解説していきましょう!」

1. Propsとは?Reactコンポーネントに値を渡す仕組み

1. Propsとは?Reactコンポーネントに値を渡す仕組み
1. Propsとは?Reactコンポーネントに値を渡す仕組み

Reactでは、Props(プロップス)という仕組みを使って、子コンポーネントにデータを渡すことができます。

たとえば、次のように親から子へ文字を渡すことができます。


<Greeting name="さくら" message="こんにちは!" />

このようにnamemessageのような属性がPropsとして渡され、子コンポーネント側で受け取って表示します。

2. Propsが増えてくると、書くのが大変…

2. Propsが増えてくると、書くのが大変…
2. Propsが増えてくると、書くのが大変…

Propsの数が2つや3つならよいのですが、10個以上になると毎回書くのが大変になります。しかも、同じようなコードを何度も繰り返すと、間違いのもとにもなります。

そこで登場するのが、スプレッド構文(...構文)です。

3. スプレッド構文(...)とは?

3. スプレッド構文(...)とは?
3. スプレッド構文(...)とは?

スプレッド構文とは、...を使って「オブジェクトの中身を一括で展開する」ためのJavaScriptの記法です。

たとえば次のように使います:


const user = { name: "さくら", age: 20 };
const copy = { ...user };

これでcopyuserと同じ内容を持つオブジェクトになります。ReactのJSXでもこの考え方が使えます。

4. JSXでスプレッド構文を使ってPropsを渡す方法

4. JSXでスプレッド構文を使ってPropsを渡す方法
4. JSXでスプレッド構文を使ってPropsを渡す方法

次のようにオブジェクトを1つ作り、それを...propsの形で渡すことで、まとめてPropsを渡せます。


import React from "react";

function Greeting(props) {
  return (
    <div>
      <p>{props.name}さん、{props.message}</p>
    </div>
  );
}

function App() {
  const userProps = {
    name: "さくら",
    message: "こんにちは!"
  };

  return <Greeting {...userProps} />;
}

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

{...userProps} のように書くことで、userPropsオブジェクトの中身がそのままPropsとして展開されて渡ります。

5. スプレッド構文のメリットとは?

5. スプレッド構文のメリットとは?
5. スプレッド構文のメリットとは?

JSXでスプレッド構文を使うことで、次のようなメリットがあります:

  • Propsをまとめて一度に渡せる
  • 重複コードを減らして、見やすく保守しやすい
  • 条件によって渡す値を動的に変更しやすい

特に大きなアプリや複数のコンポーネントがある場合には、Propsの整理に役立ちます。

6. スプレッド構文を使うときの注意点

6. スプレッド構文を使うときの注意点
6. スプレッド構文を使うときの注意点

Propsをスプレッド構文で渡す場合、意図しないPropsが渡るリスクもあります。

たとえば、オブジェクトにUIとは関係のないデータが入っていると、それも一緒に渡されてしまうことがあります。

そのため、必要な値だけをオブジェクトに含める、またはスプレッドの前後で上書きして制御する工夫も大切です。

7. 直接Propsを渡す場合との比較

7. 直接Propsを渡す場合との比較
7. 直接Propsを渡す場合との比較

下記のように1つ1つ渡す方法と比べて、スプレッド構文の方がすっきり書けます。


<Greeting name="さくら" message="こんにちは!" /> ← 通常のProps渡し
<Greeting {...userProps} /> ← スプレッド構文でPropsをまとめて渡す

後者は、たくさんの値を効率よく渡したいときにとても便利です。

8. JSXのスプレッド構文を理解するとReactのコードがもっとスッキリ

8. JSXのスプレッド構文を理解するとReactのコードがもっとスッキリ
8. JSXのスプレッド構文を理解するとReactのコードがもっとスッキリ

Reactではコンポーネントに情報を渡すのが基本ですが、スプレッド構文を活用することで、JSXの可読性と柔軟性がグッと上がります。

Propsの数が増えたり、同じPropsを複数のコンポーネントに使い回したりするときには、ぜひスプレッド構文を使ってみましょう。

まとめ

まとめ
まとめ

ReactのJSXでスプレッド構文を使ってPropsを渡すしくみを振り返ると、まずPropsとは親コンポーネントから子コンポーネントへ値を受け渡す大切な仕組みであり、アプリ全体の情報の流れを形づくる役割を持っていることが分かります。PropsはUIの表示内容や動作を決める重要な情報であり、Reactのコンポーネント開発では必ずといってよいほど使用される基本的な考え方です。しかし、Propsが増えてくると毎回同じような記述を繰り返すことになり、コードの重複や書き忘れのリスクも高くなります。こうした煩雑さを解消する手段としてスプレッド構文が活躍し、オブジェクトの中身をまとめて渡すことで読みやすいコードを保てるようになります。 JSXでスプレッド構文を使う最大のメリットは、渡したい値をひとつのオブジェクトに集めて一括で展開できる点です。さまざまなコンポーネントに共通するデータを扱う場合や、複数のプロパティを柔軟に組み替えたい場合に非常に有効で、Reactアプリの保守性や効率を向上させる重要なテクニックといえます。また、スプレッド構文の特長として、「オブジェクトの中身を丸ごとコピーして展開できる」という仕組みがあるため、Propsを直接手書きするよりもエラーを起こしにくく、複雑なUIや大規模コンポーネント構成において力を発揮します。 一方で、便利さの反面、意図しない値がコンポーネントに渡ってしまう可能性があるため、オブジェクトの中身をきちんと整理してから渡すことが重要です。Reactは宣言的で分かりやすい構造を持つフレームワークですが、こうした細かな配慮でコードの質が大きく変わります。Propsがアプリ内でどのように使われているか、どれが表示や動作に必要な情報なのかを整理しておくと、より安全で分かりやすいコードが書けるようになります。 今回の記事で学んだスプレッド構文の仕組みは、Props以外にもオブジェクト操作、配列操作、ステート更新など多くの場面で応用できます。React学習の中でも基礎にして応用が広いテクニックであり、JSXの表現力を高めながら実用的なコードに近づける力となります。Propsの渡し方が柔軟になることでコンポーネントの再利用性も高まり、分かりやすく管理しやすいアプリ作りへとつながっていくため、習得する価値の高い知識といえるでしょう。

スプレッド構文でPropsを渡すサンプルコード

重要ポイントの整理として、Propsをまとめて渡す基本的な書き方を再掲します。


function Greeting(props) {
  return (
    <div>
      <p>{props.name}さん、{props.message}</p>
    </div>
  );
}

function App() {
  const info = { name: "あやめ", message: "おはようございます!" };
  return <Greeting {...info} />;
}

オブジェクトinfoの中身が{...info}によって展開され、namemessageがPropsとしてGreetingに渡される仕組みです。Propsをひとまとめに扱えるため、複数のコンポーネントへ同じデータを渡したい場合や、表示内容を柔軟に組み替えたい場合にも役立ちます。スプレッド構文を正しく使えると、Reactコードの見通しがよくなり、読みやすさはもちろん、再利用性や保守性も高まるため、実務でもよく使われています。 また、Propsの上書きもできるため、「基本の情報はスプレッドで渡しつつ、特定の値だけ後から変更する」といった柔軟な対応も可能です。たとえば<Greeting {...info} message="こんばんは" />のようにすると、オブジェクトの値を上書きでき、状況に応じたコンポーネントの調整が簡単になります。このようにスプレッド構文にはReact特有の便利な使いどころが多く、実際のアプリ開発においても頻繁に出番があります。

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

生徒

「Propsをたくさん渡すときにスプレッド構文が便利だって実感できました!毎回同じようなコードを書かなくてよくなるのは助かります。」

先生

「そうですね。Propsを整理して渡せるので可読性も高くなりますし、変更にも強い仕組みになりますよ。」

生徒

「オブジェクトの中身を展開できるってReact以外でも便利そうです。JavaScript全体で使える考え方なんですね。」

先生

「その通りです。スプレッド構文を理解すると、配列操作やステート更新にも応用できるので、開発の幅が広がりますよ。」

生徒

「これからPropsが多いコンポーネントを作るときはスプレッド構文を積極的に使ってみます!」

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

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

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

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のイベントハンドリングのアンチパターンまとめ!初心者でもわかる注意点
No.3
Java&Spring記事人気No3
React
ReactとTypeScriptの環境構築をやさしく解説!Viteとtsconfigの設定も丁寧に紹介
No.4
Java&Spring記事人気No4
React
Reactのカスタムフックの作り方を完全ガイド!再利用可能なロジックを切り出す仕組み
No.5
Java&Spring記事人気No5
React
ReactでFetch APIのローディング状態を管理する方法|初心者にもわかる解説
No.6
Java&Spring記事人気No6
React
create-react-appでReactプロジェクトを作成する手順を初心者向けに完全解説!
No.7
Java&Spring記事人気No7
React
ReactのuseStateとuseEffectでよくあるエラーと解決方法ガイド!初心者でもわかるReactフック
No.8
Java&Spring記事人気No8
React
Reactでファイルアップロードを実装する方法を解説!Fetch APIで画像やPDFを送る仕組みを初心者向けに紹介