W Reakcie 16.2 Fragmentsdodano ulepszone wsparcie dla . Więcej informacji można znaleźć w poście na blogu Reacta tutaj.
Wszyscy znamy następujący kod:
render() {
return (
// Extraneous div element :(
<div>
Some text.
<h2>A heading</h2>
More text.
<h2>Another heading</h2>
Even more text.
</div>
);
}
Tak, potrzebujemy kontenera div, ale to nic wielkiego.
W Reakcie 16.2 możemy to zrobić, aby uniknąć otaczającego kontenera div:
render() {
return (
<Fragment>
Some text.
<h2>A heading</h2>
More text.
<h2>Another heading</h2>
Even more text.
</Fragment>
);
}
W obu przypadkach nadal potrzebujemy elementu kontenera otaczającego elementy wewnętrzne.
Moje pytanie brzmi: dlaczego używa się Fragmentpreferowanego? Czy to pomaga w wydajności? Jeśli tak, dlaczego? Chciałbym trochę wglądu.
divpolega na tym, że nie zawsze chcesz mieć element opakowujący. Elementy opakowania mają znaczenie i zwykle potrzebujesz dodatkowych stylów, aby to znaczenie zostało usunięte. <Fragment>to tylko cukier syntaktyczny, który nie jest renderowany. Są sytuacje, w których tworzenie opakowania jest bardzo trudne, na przykład w SVG, gdzie <div>nie można go użyć i <group>nie zawsze jest to, czego chcesz.