無駄な<></>
は記述しないようにしようという話。
事前知識
<></>
は<React.Fragment></React.Fragment>
のこと- 使い方は フラグメントの省略記法 を参照
両方とも HTML のレンダリング結果は同じである。
Sample1 | Sample2 |
---|---|
無駄な Fragment が記述されたコンポーネント(Sample1) |
Sample1 から無駄な Fragment を取り除いたコンポーネント(Sample2) |
HTML のレンダリング結果は同じでも、ビルド後の JavaScript のソースは異なる。ビルドしてもReact.Fragment
は定義した通り出力される。
Sample1 | Sample2 |
---|---|
|
|
変換結果のプレイグラウンド、こちら(Babel - Try it out)に置いておく。
Babelでの変換は上記の通りだが、TypeScriptでの変換もFragmentは同様に残る。
記述したReact.Fragment
は最適化されず残ってしまう。大きな副作用があるわけではないので無駄に記述してしまいがちだが、そのぶんファイルサイズの肥大化やスクリプトの解析時間に影響を与えてしまうため、無駄な記述であればやめよう。
こういうトップレベルに無駄なReact.Fragment
が残りがちなので気を付けよう。
const Component = () => {
return (
<>
<div className="Component"></div>
</>
);
};