LoginSignup
0
0

More than 1 year has passed since last update.

ReactのFragmentの書き方

Posted at

Fragmentとは

Reactコンポーネントは、ルートの要素が1つでないといけない。
だがそのために<div>など不要なDOMで囲むのは良くない。

例えば、以下のColumnsコンポーネントのルート要素が<div>だったらHTMLとして良くない(レーブルタグにdivを使ってはいけないから)。

<table>
  <tr>
    <Columns />
  </tr>
</table>

このように不要なDOMを書くことは極力避けたい。
ではルートに複数の要素がある場合はどうすれば良いのか?
そこで登場するのがFragmentである。

Fragmentの書き方3つ

1つ目:<React.Fragment>

import { Fragment } from 'react';

export const Columns = () => {
  return (
    <React.Fragment>
      <td>A</td>
      <td>B</td>
    </React.Fragment>
  )
}

2つ目:<Fragment>

import React from 'react';

export const Columns = () => {
  return (
    <Fragment>
      <td>A</td>
      <td>B</td>
    </Fragment>
  )
}

3つ目:<>

import { Fragment } from 'react';

export const Columns = () => {
  return (
    <>
      <td>A</td>
      <td>B</td>
    </>
  )
}

1つ目はいつ使うのか

1つ目の<React.Fragment>は長ったらしいだけに見えるが、唯一keyを持つことができる。
keyを持たせたいときは<React.Fragment>を使おう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0