Matcha verktyget till typen av tillstånd, istället för att automatiskt gripa till ett globalt lager. De flesta "globalt tillstånds"-problem är egentligen fel verktyg för jobbet.
Varför det är viktigt
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)
Den viktigaste insikten: serverstate ≠ klientstate
Data från ett API är en av fjärrdata, inte tillståndet du äger. Att placera det i Redux betyder att du manuellt hanterar laddning, caching, omhämtning och invalidering — smärtsamt och felbenäget. Ett serverstate-bibliotek gör allt det:
