Adaptez l'outil au type d'état, plutôt que de recourir par défaut à un store global. La plupart des problèmes de « state global » sont en réalité dus au mauvais outil pour le job.
Pourquoi c'est important
text
Local UI state (toggle, input) → useState / useReducer
Shared, low-frequency (theme, user) → Context
Server/API data → React Query / SWR (NOT a global store)
Complex global client state → Zustand / Jotai / Redux Toolkit
URL-shareable state (filters, page) → the URL (search params)
L'insight le plus important : server state ≠ client state
Les données d'une API sont un de données distantes, pas un état que vous possédez. Les mettre dans Redux signifie gérer manuellement le chargement, la mise en cache, le rechargement et l'invalidation — fastidieux et source de bugs. Une bibliothèque de server state gère tout cela :
