React プロジェクトでは、 render メソッドは 1 つのルート要素しか持てず、一般的には <div> <div/>
を使用し、その中にコンポーネントを書きます。ブラウザでレンダリングすると、表示したいコンポーネントの他に、外側にもう 1 つの div が追加されます。プロジェクトを書く際に、多くのコンポーネントをネストすると、各レイヤーに親要素の div が追加されてしまい、見栄えが悪く、スタイルを調整する際に少し面倒です。
そのため、React はプレースホルダー Fragment を提供しています。書き方は次の通りです:
// index.js
import React, { Component,Fragment } from 'react'
export default class index extends Component {
render() {
return (
<Fragment>
<h2>こんにちは、世界</h2>
</Fragment>
)
}
}
React をインポートする際に、Fragment 属性を追加し、 render()
メソッド内の唯一のルート要素を <Fragment> </Fragment>
で置き換えます。この時、ブラウザを再度見ると、余分なタグが表示されず、直接 <h2>
タグが表示されます。