反応フラグメントを使うとき
3174 ワード
私は、反応で何かを書いた誰でも、誤りを得たと確信します
ものは、反応がこれを修理するのを助けることができるビルトイン構文であるということです.それは断片です.
なぜこれが問題ですか.レンダリングされなければならなくて、再レンダリングの上で拡散しなければならないDOMがより少ないので、それはより速くありえます.また、現代のCSS機能
Adjacent JSX elements must be wrapped in an enclosing tag
. 簡単に言えば、反応コンポーネントはそのルートで1つのHTML要素だけを持つことができます.それで、あなたが表示したいならばh2
タグとタグp
同じコンポーネント内のタグを何かにラップする必要があります.私が愛している理由の一部Svelte あなたがコンポーネントのルートで望むように多くの要素を置くことができます.)このエラーを解決するために、ほとんどの人がこうします.const MyComponent = () => {
return (
<div>
<h2>Title</h2>
<p>Some text.</p>
</div>
)
}
export default MyComponent
しかし、問題は、あなたがちょうど多くのdiv
sは非常に畳み込みのDOM出力を作成します.このイメージは、Facebookフィードの1つのポストからのコードを示します.ものは、反応がこれを修理するのを助けることができるビルトイン構文であるということです.それは断片です.
<>
. あなたの代わりにそれを使用することができますdiv
またはその他のHTMLタグ.したがって、上のコード例は次のようになります.const MyComponent = () => {
return (
<>
<h2>Title</h2>
<p>Some text.</p>
</>
)
}
export default MyComponent
それで、あなたは断片を使うべきですか?ディスプレイ目的のためにDOM要素を必要としないときはいつでもフラグメントを使うべきです.DOM要素を使用する必要があるのは、スタイリングの目的や意味の必要性に必要なときだけですarticle
要素).なぜこれが問題ですか.レンダリングされなければならなくて、再レンダリングの上で拡散しなければならないDOMがより少ないので、それはより速くありえます.また、現代のCSS機能
flexbox
and grid
少ない要素があるとき、非常によりよく働きます.Reference
この問題について(反応フラグメントを使うとき), 我々は、より多くの情報をここで見つけました https://dev.to/mjamesderocher/when-to-use-react-fragment-12oeテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol