> В чем смысл React Query и зачем он нужен, если можно делать fetch напрямую (React)

Уровень: senior · Роль: frontend · Категория: Технические вопросы

Компании: ITQ Group МКБ БАНК, Домклик

Стек: React

> Пример ответа

React Query (теперь TanStack Query) решает проблему управления серверным состоянием, которую обычный fetch оставляет на плечах разработчика. При прямом использовании fetch в useEffect вы получаете только базовый запрос, но вам вручную приходится обрабатывать:

  • Кэширование - повторные запросы к одним и тем же данным без лишних сетевых вызовов.

  • Фоновое обновление - автоматическая перезагрузка данных при фокусе окна или реконнекте.

  • Пагинацию и бесконечную загрузку - с useInfiniteQuery это становится тривиальным.

  • Оптимистичные обновления - мгновенный UI с откатом при ошибке.

  • Дедупликацию запросов - если два компонента запрашивают одни и те же данные, выполняется только один запрос.

  • Retry и stale time - автоматические повторные попытки при сбоях и настройка актуальности данных.

Пример: без React Query вам нужно писать useEffect, useState, isLoading, error, refetch и следить за гонками запросов. С React Query это сводится к одной строке: const { data, isLoading } = useQuery('todos', fetchTodos). Библиотека берет на себя синхронизацию с сервером, а вы фокусируетесь на UI.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью