TanStack Query как state-менеджер

TanStack Query (бывший React Query) задумывался для серверного состояния. Но многие используют его как state-менеджер вообще. Работает.

TanStack Query как state-менеджер

TanStack Query (раньше React Query) — это библиотека для работы с серверным состоянием. Кеширование, инвалидация, мутации, refetch при возвращении на вкладку.

TanStack Query как state-менеджер
TanStack Query закрывает большую часть кейсов, где раньше тащили Redux.

Многие сейчас используют его НЕ только для серверного состояния, а как почти полную замену 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 — закрывает всё.