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

Avancé · 12 min de lecture

React en production

Frameworks, performances, accessibilité

1Définition

En production, React s'utilise presque toujours à travers un framework (Next.js, React Router, Expo) qui ajoute le routage, le rendu côté serveur et les chargements de données. On y surveille les performances, l'accessibilité, et l'on teste les composants comme un utilisateur.

2Principes fondamentaux

01

Un framework

Next.js pour le web, Expo pour le mobile : routage, serveur, déploiement.

02

Des composants serveur

Ce qui ne réagit pas au clic peut se rendre sur le serveur, sans JavaScript envoyé.

03

Accessible par défaut

Des vrais boutons, des labels, des contrastes suffisants.

04

Tester comme un utilisateur

Chercher par texte et par rôle, cliquer, taper.

3Exemples pratiques

Un test avec Testing Library

Exemple
1render(<Quiz />);2await userEvent.click(screen.getByRole("button", { name: "for" }));3expect(screen.getByText("Bonne réponse !")).toBeInTheDocument();

Exactement ce que font les tests de ce cours : cliquer, puis lire l'écran.

Un composant serveur dans Next.js

Exemple
1// app/lecons/page.tsx — s'exécute sur le serveur2export default async function Page() {3  const lecons = await db.lecons.findMany();4  return <ul>{lecons.map((l) => <li key={l.id}>{l.titre}</li>)}</ul>;5}

Pas d'effet, pas d'état de chargement côté client : les données arrivent avec la page.

4Erreurs courantes

Un div cliquable

À éviter

<div onClick={ouvrir}>Ouvrir</div>

À faire

<button onClick={ouvrir}>Ouvrir</button>

Pourquoi : Inaccessible au clavier et aux lecteurs d'écran.

Optimiser trop tôt

À éviter

useMemo partout

À faire

Mesurer d'abord (React DevTools Profiler)

Pourquoi : Du code plus complexe pour un gain souvent nul.

5Subtilités à connaître

  • ◆Les listes de milliers d'éléments se virtualisent (TanStack Virtual) : seuls les éléments visibles sont rendus.
  • ◆Suspense affiche un état de chargement pendant qu'un composant attend ses données ou son code.
  • ◆L'hydratation relie le HTML produit par le serveur au JavaScript du client : un rendu différent des deux côtés provoque une erreur.

6Techniques d'expert

Les actions serveur

Une fonction marquée "use server" appelée directement depuis un formulaire : pas d'API à écrire à la main.

useOptimistic

Afficher tout de suite le résultat attendu d'une action, et revenir en arrière si le serveur refuse.

Le compilateur React

Il analyse les composants et mémorise automatiquement les calculs et les fonctions.

// next.config.tsexport default { reactCompiler: true };

7Sur le terrain

  • Sys-Code est une application Next.js et React 19 : ce cours tourne dans le même React que le site.
  • React sert aussi au mobile (React Native), au bureau (Electron) et même au terminal (Ink).
  • Les grandes bibliothèques de composants (Radix, React Aria) fournissent des éléments accessibles prêts à styliser.

8Vérifie ta compréhension

Question 1/3

Score 0

En production, React s'utilise surtout…

Envie d'essayer ? Ouvre le Labo et recopie les exemples pour les modifier.