Front-end · 6 mondes · 18 étapes
React
Composants, état, effets : des interfaces web qui réagissent, rendues pour de vrai.
Progression
0 %
0/18 étapes terminées
Fondamental · 8 min de lecture
JSX et composants
L'interface comme une fonction des données
1Définition
Un composant React est une fonction dont le nom commence par une majuscule, qui renvoie du JSX : une syntaxe proche du HTML où les accolades insèrent des valeurs JavaScript. On compose une page en assemblant des composants, et l'on affiche selon une condition avec ? : ou &&.
2Principes fondamentaux
01
className, pas class
class est un mot réservé de JavaScript.
02
Des expressions dans les accolades
Variables, calculs, appels : pas de if ni de for.
03
Un parent unique
Un <div> ou un fragment <>…</>.
04
Une majuscule
<Menu /> est un composant, <menu> une balise HTML.
3Exemples pratiques
Afficher selon une condition
1{connecte ? <p>Bonjour, {pseudo} !</p> : <button>Se connecter</button>}2{nouveau && <span className="badge">Nouveau</span>}Le ternaire choisit entre deux éléments ; && affiche ou n'affiche rien.
Créer un projet
1npm create vite@latest mon-appli -- --template react2cd mon-appli && npm install && npm run devVite crée un projet React prêt à l'emploi ; Next.js est l'autre point de départ courant.
4Erreurs courantes
class au lieu de className
À éviter
<div class="carte">À faire
<div className="carte">Pourquoi : React avertit et l'attribut n'est pas appliqué comme prévu.
Deux éléments sans parent
À éviter
return <h1/><p/>;À faire
return <><h1/><p/></>;Pourquoi : Une fonction ne renvoie qu'une valeur.
Un if dans le JSX
À éviter
{if (connecte) <p/>}À faire
{connecte && <p/>}Pourquoi : Les accolades attendent une expression.
5Subtilités à connaître
- ◆
{0 && <p/>}affiche « 0 » : avec un nombre, on écrit{n > 0 && <p/>}. - ◆Les commentaires dans le JSX s'écrivent
{/* … */}. - ◆Le JSX est transformé en appels de fonctions :
<h1>Salut</h1>devient un objet que React sait afficher.
6Vérifie ta compréhension
Question 1/3
Score 0
class s'écrit en JSX…
Envie d'essayer ? Ouvre le Labo et recopie les exemples pour les modifier.