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
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
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.