Является ли state кэш библиотеки React Query

Ответ

State в React Query не является кэшем в классическом понимании. Это скорее управляемое состояние, которое React Query использует для хранения и синхронизации данных между запросами.

Ключевые отличия:

  • Данные автоматически инвалидируются по истечении staleTime
  • Поддерживается фоновое обновление (refetchOnWindowFocus, refetchOnReconnect)
  • Есть механизмы для ручной инвалидации (invalidateQueries)

Пример:

const { data } = useQuery({
  queryKey: ['todos'],
  queryFn: fetchTodos,
  staleTime: 5000 // данные станут "устаревшими" через 5 сек
})

React Query предоставляет мощный абстракционный слой над кэшированием, но сам state — это лишь часть этой системы.