
Fragments
Découvrez comment utiliser React Fragments (
Le problème du wrapper superflu
Comme nous l'avons vu dans les règles de base de JSX, chaque expression JSX retournée par un composant doit avoir un seul élément racine. Une solution courante pour retourner plusieurs éléments adjacents (par exemple, deux paragraphes ou une liste d'éléments) est de les envelopper dans une balise `
` ou un autre élément conteneur HTML.
function ColonnesTableau() {
// On veut retourner deux cellules de tableau
return (
{ /* Wrapper ajouté juste pour JSX */ }
Donnée 1
Donnée 2
);
}
function MaTable() {
return (
);
}
// DOM Résultant (INVALIDE !) :
//
//
//
// <-- Div non valide ici !
// Donnée 1
// Donnée 2
//
//
//
//
Si cette approche fonctionne techniquement pour satisfaire la règle JSX, elle présente des inconvénients :
- DOM pollué : Elle introduit des éléments `` (ou autres) supplémentaires dans le DOM qui n'ont aucune signification sémantique ou structurelle réelle.
- Problèmes de mise en page CSS : Ces wrappers inutiles peuvent interférer avec certaines techniques de mise en page CSS (comme Flexbox ou Grid) qui dépendent d'une relation parent-enfant directe.
- HTML invalide : Dans certains contextes, comme les enfants directs d'un `
` (qui ne peuvent être que ` ` ou ` `) ou d'un `