Ajusta la herramienta al tipo de estado, en lugar de recurrir a un store global por defecto. La mayoría de los problemas de "estado global" son en realidad la herramienta equivocada para el trabajo.
Una guía de decisión
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)
La idea más importante: el estado del servidor ≠ el estado del cliente
Los datos de una API son un de datos remotos, no un estado que tú posees. Ponerlos en Redux significa gestionar manualmente la carga, el caché, el refetch y la invalidación — algo doloroso y propenso a errores. Una biblioteca de estado de servidor hace todo eso:
