3秒でわかる
React で余計な div を増やさずに複数の要素をまとめて返すための入れ物。テーブルやリストの構造を壊さずにコンポーネントを分割できます。
もう少し詳しく
どういうものか
Fragment は React のコンポーネントが複数の要素を返すときに使う、DOM に出力されない入れ物です。 と書くほか、省略記法の <>...> が広く使われます。JSX は 1 つのルート要素しか返せないという制約があり、その制約を満たしつつ実際の HTML には何も足さないのが Fragment の役割です。
なぜ必要か
制約を回避するだけなら 「透明な袋」と覚えます。中身をまとめて運べますが、置いた先では袋そのものは見えません。 サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。 LEARN BY DOING 直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。 この用語を扱うコース具体例
function TableRow({ item }) {
return (
<>
<td>{item.name}</td>
<td>{item.price}円</td>
</>
);
}
function List({ items }) {
return (
<dl>
{items.map((item) => (
<React.Fragment key={item.id}>
<dt>{item.term}</dt>
<dd>{item.description}</dd>
</React.Fragment>
))}
</dl>
);
}つまずきやすいところ
<> には key を渡せない。map() の中で使うときは と正式な書き方に戻す必要がある<> は属性を一切受け取れないので、className を付けたい時点で Fragment ではなく本物の要素が必要だと判断する似た用語との違い
覚え方
知識のつながり
この用語を、教材で使ってみる