შეუთავსეთ ინსტრუმენტი state-ის ტიპს, ნაცვლად იმისა, რომ სტანდარტულად გლობალური store-ზე მოხვიდეთ. ყველაზე მეტი "გლობალური 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 ბიბლიოთეკა ამ ყველაფერს აკეთებს:
