Comprendre React.createElement

Comprendre React.createElement

React.createElement est une fonction fondamentale dans React qui permet de créer des éléments React, qui sont ensuite utilisés pour construire l'interface utilisateur.

Pourquoi utiliserais-je React.createElement() au lieu de JSX ?
Nous utilisons React.createElement() au lieu de JSX lorsque nous ne voulons pas configurer la compilation pour notre projet, ce que l'utilisation de JSX nécessite.

 

Voici comment React.createElement fonctionne :

React.createElement(type, props, ...children)
  • type: Il s'agit du type d'élément que vous souhaitez créer. Cela peut être une balise HTML (comme 'div', 'span', 'h1', etc.), un composant React défini par l'utilisateur (une classe ou une fonction), ou même un fragment (utilisé pour rendre plusieurs éléments sans avoir de balise parente).
  • props: Les propriétés (ou attributs) que vous souhaitez attribuer à l'élément. Cela peut inclure des choses comme des classes CSS, des événements, des attributs personnalisés, etc.
  • children: Ce sont les éléments ou le texte qui seront contenus à l'intérieur de l'élément que vous créez. Cela peut être un autre élément React, une chaîne de texte, ou une combinaison de ceux-ci.

Par exemple, si vous voulez créer un élément <button> avec le texte "Cliquez-moi !" et une fonction de rappel pour l'événement de clic, vous pourriez utiliser React.createElement de cette manière :

const buttonElement = React.createElement('button', { onClick: () => alert('Clic effectué') }, 'Cliquez-moi !');


Cependant, en pratique, plutôt que d'utiliser
React.createElement directement, la plupart des développeurs React utilisent JSX , qui est une syntaxe qui ressemble beaucoup à HTML et qui se compile en appels React.createElement. Voici à quoi ressemblerait le même exemple en JSX :

const buttonElement = <button onClick={() => alert('Clic effectué')}>Cliquez-moi !</button>;

L'utilisation de JSX rend le code plus lisible et plus proche de la syntaxe HTML, ce qui facilite la construction d'interfaces utilisateur en React.

 

 

Retour en haut