Derinkite įranką prie būsenos tipo, o ne automatiškai siekite visuotinio store. Dauguma "visuotinės būsenos" problemų iš tikrųjų naudoja netinkamą įranką.
Sprendimo vadovas
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)
Svarbiausias įžvalga: server state ≠ client state
Duomenys iš API yra (cache) nutolusių duomenų, ne jūsų valyta būsena. Dėti ją į Redux reiškia rankinio tvarkymą loading, caching, refetching ir invalidation — skausmu pilna ir klaidoms pakliari. Server-state biblioteka daro visa tai:
