In React 16.2 Fragments
è stato aggiunto un supporto migliorato per . Maggiori informazioni sono disponibili sul post del blog di React qui.
Conosciamo tutti il seguente codice:
render() {
return (
// Extraneous div element :(
<div>
Some text.
<h2>A heading</h2>
More text.
<h2>Another heading</h2>
Even more text.
</div>
);
}
Sì, abbiamo bisogno di un div container, ma non è un grosso problema.
In React 16.2, possiamo farlo per evitare il div contenitore circostante:
render() {
return (
<Fragment>
Some text.
<h2>A heading</h2>
More text.
<h2>Another heading</h2>
Even more text.
</Fragment>
);
}
In entrambi i casi, abbiamo ancora bisogno di un elemento contenitore che circonda gli elementi interni.
La mia domanda è: perché usare un Fragment
preferibile? Aiuta con le prestazioni? Se è così, perché? Mi piacerebbe un po 'di intuizione.
div
è che non si desidera sempre un elemento wrapper. Gli elementi wrapper hanno un significato e di solito sono necessari stili aggiuntivi per rimuovere quel significato. <Fragment>
è solo zucchero sintattico che non viene reso. Ci sono situazioni in cui la creazione di un wrapper è molto difficile, ad esempio in SVG dove <div>
non può essere utilizzato e <group>
non è sempre quello che desideri.