Anaïs Sparesotto
React · IntermédiaireIntermédiaire≈ 2h30 · 8 chapitres

React : composants et état

JSX, composants, props, état avec useState, effets avec useEffect, listes, formulaires et remontée d'état. La bibliothèque qui structure la majorité des interfaces web modernes.

À la fin du cours, tu sais

  • Comprendre l'approche déclarative de React et le concept de composant
  • Écrire du JSX et y injecter des expressions JavaScript
  • Créer des composants réutilisables et leur passer des props typées
  • Afficher des listes et faire du rendu conditionnel
  • Gérer l'état local d'un composant avec useState
  • Synchroniser un composant avec l'extérieur grâce à useEffect
  • Construire des formulaires contrôlés et faire remonter l'état

Prérequis

  • Maîtriser les bases de JavaScript, surtout map, filter et les fonctions fléchées
  • Des notions de TypeScript aident à typer les props (voir le cours dédié)
Chapitre 11 / 11

Étape 1 sur 11 : Pourquoi React

Chapitre 1

Pourquoi React

Manipuler le DOM à la main devient vite ingérable. React propose une autre façon de penser l'interface : tu décris ce que tu veux voir, React se charge de l'afficher.

Au chapitre du DOM en JavaScript, tu as vu comment sélectionner un élément et le modifier à la main : querySelector, textContent, appendChild. Ça fonctionne pour une petite page, mais dès qu'une interface devient riche (des dizaines d'éléments qui changent selon les données), gérer ces modifications manuellement devient un cauchemar : on oublie de mettre à jour un endroit, l'affichage se désynchronise des données, les bugs se multiplient. React est né chez Facebook pour résoudre exactement ce problème.

React est une bibliothèque JavaScript (pas un framework complet) dédiée à la construction d'interfaces. Son idée fondatrice est le passage d'une approche impérative (« va chercher cet élément et change son texte ») à une approche déclarative : tu décris à quoi l'interface doit ressembler pour un état donné des données, et React se charge de mettre le DOM à jour pour correspondre. Tu ne dis plus comment modifier la page, tu dis quoi afficher.

Impératif contre déclaratif

// Impératif (JavaScript pur) : tu décris chaque étape de la modification
const compteur = document.querySelector("#compteur");
let valeur = 0;
document.querySelector("#btn").addEventListener("click", () => {
  valeur++;
  compteur.textContent = "Compteur : " + valeur;   // mise à jour manuelle
});
// Déclaratif (React) : tu décris le résultat, React s'occupe du DOM
function Compteur() {
  const [valeur, setValeur] = useState(0);
  return (
    <div>
      <p>Compteur : {valeur}</p>
      <button onClick={() => setValeur(valeur + 1)}>Incrémenter</button>
    </div>
  );
}

Ne t'inquiète pas de la syntaxe pour l'instant, on la décortique dans les chapitres suivants. Retiens la différence de philosophie : dans la version React, tu ne touches jamais le DOM directement. Tu décris que l'affichage montre valeur, et quand valeur change, React recalcule ce qu'il faut afficher et met le DOM à jour pour toi. C'est ce qui rend les interfaces complexes gérables.

Le composant, brique de base

Tout, en React, est composant : un bout d'interface autonome et réutilisable, décrit par une fonction JavaScript qui renvoie ce qu'il faut afficher. Un bouton, une carte produit, un formulaire, une page entière : autant de composants, qu'on assemble comme des briques de Lego. Cette découpe en composants réutilisables est le deuxième pilier de React, avec l'approche déclarative.

React, et après ?

React ne gère que l'interface. Pour un vrai site, on lui adjoint des outils : un routeur pour naviguer entre les pages, et souvent un framework comme Next.js (celui qui propulse ce site) qui ajoute le rendu côté serveur, le routage et l'optimisation. Mais tout repose sur les composants React que tu apprends ici : c'est le socle indispensable.

Vrai ou faux ?

Avec React, on manipule directement le DOM avec querySelector et textContent pour mettre à jour l'affichage.

Tu veux ce cours pour ton équipe ?

Je peux adapter et animer ce cours pour tes formateur·ices ou tes apprenant·es, en présentiel ou en distanciel. Parlons-en pendant l'audit gratuit.

Réserver un audit gratuit →