Ταίριαξε το εργαλείο στο είδος του 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 σημαίνει ότι χειρίζεσαι χειροκίνητα τη φόρτωση, caching, refetching και invalidation — επίπονο και επιρρεπές σε σφάλματα. Μια server-state library κάνει όλα αυτά:
