Что это такое?
TanStack Query — библиотека для управления асинхронным состоянием, которая упрощает загрузку, кэширование, синхронизацию и обновление серверных данных в веб-приложениях.
Это фреймворк или библиотека?
Это библиотека (набор хуков и композаблов), а не фреймворк — её подключают к уже существующему приложению на React, Vue, Svelte или Solid.
Как добавить её в проект?
Установите пакет для вашего фреймворка (например, @tanstack/react-query) через менеджер пакетов, оберните приложение в QueryClientProvider и начните вызывать хуки useQuery и useMutation.
Какие фронтенд-фреймворки поддерживаются?
React Query, Solid Query, Svelte Query и Vue Query. Библиотека написана на TypeScript и работает как с JS, так и с TS.
Она сама занимается логикой запросов к серверу?
Нет, она не привязана к конкретному протоколу: вы используете свою функцию для запросов (fetch, GraphQL или функцию на основе промисов), а TanStack Query управляет кэшированием, повторными запросами и жизненным циклом вокруг неё.
Работает ли она с серверным рендерингом?
Да, поддерживает React Suspense и рассчитана на работу с предзагрузкой данных, которая используется в SSR-настройках.
Что такое stale-while-revalidate и использует ли это TanStack Query?
Да. Это схема кэширования, при которой устаревшие данные показываются сразу, а фоновый повторный запрос обновляет их. Она лежит в основе работы инвалидации кэша в TanStack Query.
Есть ли поддержка devtools?
В экосистеме TanStack есть единая панель devtools, которую можно использовать вместе с Query для просмотра состояния кэша.
Можно ли использовать её для пагинации и бесконечной прокрутки?
Да, пагинация и бесконечная прокрутка входят в число встроенных поддерживаемых шаблонов наряду с предзагрузкой и отменой запросов.
Какие другие инструменты TanStack хорошо сочетаются с Query?
В экосистему входят TanStack Router для маршрутизации с проверкой типов, TanStack Form для состояния форм, TanStack Table для таблиц данных и TanStack Start для полноценного SSR.