Ответ
React Query — это не state manager в традиционном понимании (как Redux или Zustand). Он специализируется на управлении асинхронным состоянием (запросами, кэшированием, синхронизацией данных с сервером).
Отличия от state manager:
- Не предназначен для хранения клиентского состояния (например, UI-флагов, формы).
- Работает с серверными данными, автоматически обрабатывая кэш, инвалидацию, фоновые обновления.
Пример:
import { useQuery } from '@tanstack/react-query';
function UserProfile() {
const { data, isLoading } = useQuery({
queryKey: ['user'],
queryFn: fetchUser, // Запрос к API
});
if (isLoading) return <div>Loading...</div>;
return <div>{data.name}</div>;
}
Для клиентского состояния лучше комбинировать React Query с Zustand/Context.