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

ReactのFragmentの使い方を完全ガイド!初心者でもわかる複数要素の返し方

JSXで複数要素を返す方法(Fragmentの使い方)
JSXで複数要素を返す方法(Fragmentの使い方)

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

生徒

「Reactで複数の要素を並べて返そうとしたらエラーになりました…」

先生

「それはきっと、JSXでは1つの親要素で囲まないといけないというルールが関係してますね。」

生徒

「1つの親要素ってなんですか?複数のタグを書いたらだめなんですか?」

先生

「はい、でもReactにはFragmentという便利な書き方があって、それで解決できますよ。具体的に見ていきましょう!」

1. Reactで複数の要素を返したいときの注意点

1. Reactで複数の要素を返したいときの注意点
1. Reactで複数の要素を返したいときの注意点

React(リアクト)では、コンポーネントの中でreturnする内容(JSX)は、必ず1つの親要素で囲む必要があります。

たとえば、次のように<h1><p>を並べて書いただけではエラーになります。

これはHTMLでは問題なくても、JSXではルール違反なんです。

2. divで囲ってもいいけど…

2. divで囲ってもいいけど…
2. divで囲ってもいいけど…

このエラーを防ぐためによくやる方法は、<div>タグでまとめて囲うことです。

でも、これを繰り返すとHTMLの中に意味のないdivがどんどん増えてしまいます。これを無駄なネストと呼ぶこともあります。

そんなときに便利なのが、今回紹介するFragment(フラグメント)です。

3. React.Fragmentを使って複数の要素を返す

3. React.Fragmentを使って複数の要素を返す
3. React.Fragmentを使って複数の要素を返す

React.Fragmentは、見た目には表示されないけれど、複数の要素をまとめて返すことができる特別なタグです。

つまり、「画面には何も出さないけど、複数のタグを1つのまとまりとして返す」という役割です。


import React from "react";

function App() {
  return (
    <React.Fragment>
      <h1>こんにちは</h1>
      <p>これは説明文です。</p>
    </React.Fragment>
  );
}

export default App;
(画面に「こんにちは」と「これは説明文です。」が表示されますが、余計なタグは出力されません)

このように書くことで、無駄なHTMLタグを増やさずに複数の要素を返せます。

4. よりシンプルに書ける省略記法

4. よりシンプルに書ける省略記法
4. よりシンプルに書ける省略記法

React.Fragmentはよく使うので、もっと簡単に書けるように<></>で省略する方法も用意されています。


function App() {
  return (
    <>
      <h1>こんにちは</h1>
      <p>省略記法でも使えます。</p>
    </>
  );
}
(画面に「こんにちは」と「省略記法でも使えます。」が表示されます)

このように、<></>を使うことで、コードがすっきり見やすくなります。

5. Fragmentとdivの違い

5. Fragmentとdivの違い
5. Fragmentとdivの違い

ここで、Fragmentdivの違いを整理しておきましょう。

  • Fragment:画面に表示されない、HTMLに影響を与えない
  • div:画面に表示され、HTMLに残る

つまり、どうしてもレイアウトのために枠が必要なときはdivを使い、それ以外はFragmentでまとめるのがおすすめです。

6. 複数のコンポーネントを並べたいときにも便利

6. 複数のコンポーネントを並べたいときにも便利
6. 複数のコンポーネントを並べたいときにも便利

たとえば、子コンポーネントの中で複数の要素を返したいときにも、Fragmentが活躍します。


function ItemList() {
  return (
    <>
      <li>りんご</li>
      <li>みかん</li>
      <li>ぶどう</li>
    </>
  );
}

function App() {
  return (
    <ul>
      <ItemList />
    </ul>
  );
}
(画面には「りんご」「みかん」「ぶどう」がリストとして表示されます)

このように、<ul>の中にリスト項目(<li>)を複数まとめて返すときも、Fragmentがあると便利です。

まとめ

まとめ
まとめ

この記事では、ReactにおけるFragmentの使い方について解説しました。ReactではJSXで複数の要素を返す際、必ず1つの親要素で囲む必要がありますが、divで囲うと余計なHTMLタグが増えてしまいます。その問題を解決するのがReact.Fragmentや省略記法の<>です。Fragmentを使うと、見た目に影響を与えずに複数要素をまとめて返すことができ、無駄なネストを避けることができます。

Fragmentは単なるラッパーであり、画面には表示されません。これにより、HTMLの構造をシンプルに保ちながら、複数の要素や子コンポーネントを返すことができます。特にリストや複数の子要素を扱う場合、ultableの中で非常に便利です。また、省略記法を使えばコードが読みやすくなり、開発効率も上がります。

さらに、Fragmentdivの違いを理解しておくことで、適切に使い分けられるようになります。divは表示用の枠を作るために使い、Fragmentは構造上の親要素としてのみ利用します。この使い分けをマスターすることで、ReactでのUI設計がより洗練され、可読性も向上します。

サンプルプログラムで振り返り

import React from "react";

function Fruits() {
  return (
    <>
      <li>りんご</li>
      <li>みかん</li>
      <li>ぶどう</li>
    </>
  );
}

function App() {
  return (
    <ul>
      <Fruits />
    </ul>
  );
}

export default App;
(画面には「りんご」「みかん」「ぶどう」がリストとして表示され、余計なタグは増えません)
先生と生徒の振り返り会話

生徒

「Fragmentを使うと、複数の要素をまとめて返せるのが便利ですね。divで囲む必要がないのも助かります。」

先生

「そうですね。画面には表示されずHTML構造もシンプルに保てるので、リストやテーブルの中で特に役立ちます。」

生徒

「省略記法も使えばコードがすっきりして、読みやすくなりますね。」

先生

「その通りです。Fragmentの理解はReactでのコンポーネント設計に必須です。今後は、複数要素の返却や子コンポーネントの組み合わせで必ず活用できるようになります。」

生徒

「これで、エラーにならずに複数の要素を返せるようになるんですね。」

先生

「その通りです。React.Fragmentや省略記法を使いこなせば、柔軟で効率的なUI作りができるようになります。」

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

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

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

Reactで複数の要素をreturnしたらエラーになるのはなぜですか?

ReactではJSXを返すとき、必ず1つの親要素で囲う必要があるというルールがあるため、複数の要素をそのまま並べるとエラーになります。HTMLではOKでもJSXではNGです。
カテゴリの一覧へ
新着記事
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で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でファイルアップロードを実装する方法を解説!Fetch APIで画像やPDFを送る仕組みを初心者向けに紹介
No.8
Java&Spring記事人気No8
React
Reactのフォーム処理でよくあるエラーと解決法を完全解説!初心者でも安心して学べるReact入門