Trung BìnhState Management iconState Management

Tại sao React Query được coi là giải pháp 'server state' không phải 'global state'?

Server state thuộc server (có thể thay đổi bởi người khác bất kỳ lúc nào) — React Query quản lý caching/sync, không phải "global state" như Redux.

  • Có 2 loại state khác biệt bản chất: Client state (theme, sidebar open, form input) — thuộc sở hữu hoàn toàn của client, đồng bộ ngay lập tức, không bao giờ 'stale'. Server state (user profile, todo list, product catalog) — thuộc sở hữu của server, có thể bị thay đổi bởi người khác, cần đồng bộ liên tục, luôn có khả năng 'stale'.
  • Redux trộn lẫn 2 loại này vào 1 store, dẫn đến phức tạp không cần thiết (loading states, error states, normalization).
  • React Query tách biệt: nó CHỈ quản lý server state với caching, background refetch, retry, deduplication.
  • Client state dùng useState/useReducer/Zustand.
  • Kết quả: giảm 50-80% Redux code trong hầu hết projects.

Xem toàn bộ State Management cùng filter theo level & chủ đề con.

Mở danh sách State Management