Partie 6 — État & formulaires
⏱️ TL;DR — Vos hooks React marchent tels quels — mais une partie de quiz est une vraie machine d’état (idle → playing → answered → finished) qui mérite mieux que dix useState. On installe Zustand pour l’état de session, on modélise la partie en types discriminés TS, et on persiste les préférences avec AsyncStorage. À la fin : Drill est JOUABLE (avec des questions en dur — le réseau arrive en Partie 7).
Pourquoi cette partie
L’état est là où les apps de jeu deviennent spaghetti : score ici, timer là, question courante ailleurs. On structure une bonne fois : état local (useState) pour l’UI, store Zustand pour la session de jeu, AsyncStorage pour ce qui survit au redémarrage.
Les chapitres
| Chapitre | Contenu |
|---|---|
| 6.1 — Les hooks en contexte RN | Re-renders et FlatList, useCallback là où ça compte, AppState |
| 6.2 — Zustand | Le store de session : score, streak, question courante |
| 6.3 — La machine d’état d’une partie | idle → playing → answered → finished, types discriminés, timer |
| 6.4 — Préférences & AsyncStorage | Réglages persistés, persist middleware, le choix manuel du thème |
👉 Commencez par le chapitre 6.1.