Получить доступ

Серверное состояние — TanStack Query

Основа

Загрузка, кэширование и обновление данных с сервера без самописных эффектов.

const { data, isPending, error } = useQuery({
  queryKey: ["orders", page],
  queryFn: () => api.orders(page),
});

const mutation = useMutation({
  mutationFn: api.cancelOrder,
  onSuccess: () => queryClient.invalidateQueries({ queryKey: ["orders"] }),
});

Что важно знать

  • Данные с сервера — это кэш, а не состояние приложения: у него есть свежесть, повторы, обновление в фоне, инвалидация.
  • Запрос в useEffect с ручными флагами загрузки — источник гонок, дублирования и утечек; библиотека решает это из коробки.
  • Ключ запроса включает все параметры — смена страницы или фильтра автоматически загружает нужные данные.
  • Оптимистичные обновления: показать результат сразу, откатить при ошибке.
  • Альтернативы: RTK Query (в составе Redux Toolkit), SWR, загрузчики маршрутизатора.

Документация

← Вся карта «React»

Закрытая бета

Знать тему — половина дела

На живом собеседовании sotto слышит вопрос интервьюера и показывает короткий ответ и план. Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем