React

【React】Fragmentの使い方

本記事では、ReactのFragmentの使い方について解説しています。

Reactの学習におすすめ参考書
モダンJavaScriptの基本から始める React実践の教科書

本書情報
著者岡田 拓巳
発売日2021/9/17
ページ数272ページ
Kindle版
レビュー
(Amazon)
(152件)
先輩くん
先輩くん
Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!
後輩ちゃん
後輩ちゃん
初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!

綺麗なコードが書けるようになる!
リーダブルコード-より良いコードを書くためのシンプルで実践的なテクニック

本書情報
出版社オライリージャパン
著者Dustin Boswell / Trevor Foucher
発売日2012/6/23
ページ数260ページ
レビュー
(Amazon)
(620件)
先輩くん
先輩くん
より良いコードを書きたい人におすすめの本だよ!
後輩ちゃん
後輩ちゃん
10以上前の書籍ですが、内容は今でも役に立つものばかりです!

Fragmentの使い方

Reactでは、returnでJSXを返す時に1つのまとまりで要素にまとめてあげる必要があります。もし、複数要素をreturnで返したい場合divタグをルート要素としてまとめる方法もありますが、これは意味のないタグを1つ増やしネストが1段階深くなってしまうためよろしくありません。

▼divタグをルート要素に設定したコード

import React from "react";

function App() {
  return (
    <div> 
      <p>App1</p>
      <p>App2</p>
    </div>
  );
}

▼生成されたHTML

<body>
  <div id="root">
    <div> <!-- 無駄なdivタグ -->
      <p>App1</p>
      <p>App2</p>
    </div>
  </div>
</body>

このような場合にFragmentは活躍します。Fragmentは、ルート要素として設定することで複数要素をまとめることができ、且つHTMLタグも生成されません。

Fragmentの基本的な使い方は以下のとおりです。

▼Fragmentをルート要素に設定したコード

import React from "react";

function App() {
  return (
    <React.Fragment>
      <p>App1</p>
      <p>App2</p>
    </React.Fragment>
  );
}

▼生成されたHTML

<body>
  <div id="root">
    <p>App1</p>
    <p>App2</p>
  </div>
</body>

Fragmentは、React機能の一つなので<React.Fragment></React.Fragment>と記述します。名前付きインポートでもFragmentを使用することが可能です。

▼名前付きインポートのコード

import { Fragment } from "react";

function App() {

  return (
    <Fragment>
      <p>App1</p>
      <p>App2</p>
    </Fragment>
  );
}

更に、<Fragment></Fragment>の箇所を<></>に置き換えることでFragmentをimportすることなく実装することも可能です。

▼Fragment未使用のコード

import { Fragment } from "react";

function App() {

  return (
    <>
      <p>App1</p>
      <p>App2</p>
    </>
  );
}

▼生成されたHTML

<body>
  <div id="root">
    <p>App1</p>
    <p>App2</p>
  </div>
</body>

生成されたHTMLを確認するとFragmentを使用している状態と同じHTML構造になっていることが分かります。

ブログランキング・にほんブログ村へ PVアクセスランキング にほんブログ村