TanStack Query как state-менеджер
TanStack Query (бывший React Query) задумывался для серверного состояния. Но многие используют его как state-менеджер вообще. Работает.
TanStack Query (раньше React Query) — это библиотека для работы с серверным состоянием. Кеширование, инвалидация, мутации, refetch при возвращении на вкладку.
Многие сейчас используют его НЕ только для серверного состояния, а как почти полную замену Redux/Zustand. И в большинстве проектов это работает.
Что закрывает TanStack Query:
- Серверные данные — список, детали, формы.
- Глобальное состояние, которое выводится из серверных данных (например, текущий пользователь).
- Кеширование между страницами.
- Optimistic updates.
- Background refetch.
Когда нужно ещё что-то:
- UI state (открытое меню, текст в инпуте) — useState или Zustand.
- Сложные client-only вычисления — Zustand с computed values.
- Глобальная шина событий — отдельный pub-sub.
В наших проектах последних двух лет в 8 из 10 случаев Redux не понадобился вообще. TanStack Query + Zustand для UI state — закрывает всё.