Sesuaikan tool dengan jenis state, daripada langsung menggunakan global store. Sebagian besar masalah "global state" sebenarnya adalah pilihan tool yang salah untuk pekerjaan tersebut.
Mengapa ini penting
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)
Insight paling penting: server state ≠ client state
Data dari API adalah dari data remote, bukan state yang Anda miliki. Menempatkannya di Redux berarti Anda harus menangani loading, caching, refetching, dan invalidation secara manual — menyakitkan dan rawan bug. Sebuah server-state library melakukan semua itu:
