Combine a ferramenta com o tipo de estado, em vez de recorrer automaticamente a um store global. A maioria dos problemas de "estado global" é realmente a ferramenta errada para o trabalho.
Por que isso importa
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)
O insight mais importante: server state ≠ client state
Dados de uma API são um de dados remotos, não estado que você possui. Colocá-lo no Redux significa que você gerencia manualmente loading, caching, refetching e invalidação — doloroso e propenso a bugs. Uma biblioteca de server-state faz tudo isso:
