ٹول کو state کی قسم کے ساتھ ملائیں، بجائے اس کے کہ پہلے سے global store کی طرف رجوع کریں۔ زیادہ تر "global state" کے مسائل دراصل اس کام کے لیے غلط ٹول ہیں۔
فیصلہ کرنے کی گائیڈ
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)
سب سے اہم بصیرت: server state ≠ client state
API سے آنے والا ڈیٹا دور کے ڈیٹا کا ہے، نہ کہ وہ state جس کی آپ ملکیت کرتے ہیں۔ اسے Redux میں ڈالنا اس بات کا مطلب ہے کہ آپ loading، caching، refetching، اور invalidation کو دستی طور پر سنبھالیں — تکلیف دہ اور غلطی کا شکار۔ ایک server-state library سب کچھ کرتی ہے:
