Il est courant qu'un composant React contienne plusieurs éléments. Cependant les éléments JSX ne peuvent contenir qu'un seul élément parent.

const element = (
  <div class="wrapper">
    <Blue>Marshall Mathers</Blue>
    <Blue>Eminem</Blue>
  </div>
)

🚫

const element = (
  <Blue>Marshall Mathers</Blue>
  <Blue>Eminem</Blue>
)

Ce qui est logique puisque la méthode createElement de React API est appelée et ne s'attend qu'a recevoir qu'un seul élément:

React.createElement(element, null)

Cependant, il n'est pas toujours possible/souhaitable d'avoir une balise parent englobant tous nos composants. Heureusement, les fragments permettent de remédier à ce problème.

👌

const element = (
  <React.fragment>
    <Blue>Marshall Mathers</Blue>
    <Blue>Eminem</Blue>
  </React.fragment>
)

Syntaxe courte

Le code précédent peut être réécrit de façon plus courte avec la syntaxe courte, comme suit:

const element = (
  <>
    <Blue>Marshall Mathers</Blue>
    <Blue>Eminem</Blue>
  </>
)

Ce qui produira exactement le même code qu'avec <React.fragment>.