MODULE R03 — EXERCICES

Exercices useState

10 exercices pour maîtriser le state local : useState, objets, tableaux, dérivation et lifting state up.

10 exercices Validation automatique Solutions téléchargeables (.jsx)
EX 1

useState basique

Tâche : Créez un composant Compteur qui utilise useState(0) et des boutons +1, -1, Reset.

EX 2

Forme updater

Tâche : Refactorisez le compteur pour utiliser la forme setCount(prev => prev + 1) (updater function) — cette forme est plus sûre quand la valeur dépend de l'ancienne.

EX 3

Toggle booléen

Tâche : Créez un composant ToggleMode qui bascule entre mode sombre et clair avec setSombre(prev => !prev).

EX 4

Champ contrôlé

Tâche : Créez un formulaire avec deux champs contrôlés : chaque champ doit avoir value={state} et onChange={e => setState(e.target.value)}.

EX 5

State objet

Tâche : Gérez un état objet { nom, age, ville } et mettez à jour une seule propriété avec le spread operator : setProfil(prev => {{ ...prev, ville: val }}).

EX 6

State tableau

Tâche : Créez une liste de courses : ajouter avec [...prev, nouvel], supprimer avec .filter(), afficher avec .map() + key.

EX 7

State dérivé

Tâche : Gérez un tableau de scores avec useState, et calculez total, moyenne, max, min directement (sans useState supplémentaire).

EX 8

États multiples

Tâche : Simulez une requête API avec 3 useState distincts : loading, erreur, donnees — affichez l'état approprié selon l'étape.

EX 9

Lifting State Up

Tâche : Créez un convertisseur °C/°F avec le state dans le composant parent et un callback passé via props à l'enfant InputCelsius.

EX 10

Todo list complète

Tâche finale : Implémentez une Todo list complète : useState([...]), ajouter via formulaire, cocher/décocher, supprimer, afficher le compteur de tâches terminées.

🧠 Prêt pour le QCM ? Testez vos connaissances sur useState — 10 questions.
Passer le QCM R03
← Cours R03 ▶ Mini-projet : Todo List Suivant : useEffect →