Stem het gereedschap af op het type state, in plaats van automatisch naar een global store te grijpen. De meeste "global state"-problemen zijn eigenlijk het verkeerde gereedschap voor het werk.
Beslissingshandleiding
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)
Het belangrijkste inzicht: server state ≠ client state
Gegevens van een API zijn een van externe gegevens, geen state die je bezit. Het in Redux stoppen betekent dat je handmatig loading, caching, refetching en invalidatie afhandelt — pijnlijk en foutgevoelig. Een server-state bibliotheek doet dit allemaal:
