Кэширование, время устаревания и фоновые запросы
Настройте staleTime и gcTime, чтобы управлять повторным получением данных с сервера.
«Кэширование, время устаревания и фоновые запросы» — бесплатный урок React Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения React Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс React Academy содержит 4 уроков всего.
Добро пожаловать
Свежие и устаревшие данные
staleTime
useQuery({
queryKey: ['users'],
queryFn: fetchUsers,
staleTime: 60_000, // fresh for 60 seconds
})Настройка staleTime для статических данных
// Effectively never stale — reload only on explicit invalidation
useQuery({ queryKey: ['countries'], queryFn: fetchCountries,
staleTime: Infinity })gcTime (сборка мусора)
useQuery({
queryKey: ['products'],
queryFn: fetchProducts,
gcTime: 10 * 60 * 1000, // keep in memory for 10 minutes
})staleTime и gcTime
Индикаторы фоновой повторной загрузки
const { data, isLoading, isFetching } = useQuery({ /* ... */ });
return (
<>
{isLoading ? <Spinner /> : <DataView data={data} />}
{isFetching && !isLoading && <RefreshIndicator />}
</>
);refetchOnWindowFocus
useQuery({
queryKey: ['settings'],
queryFn: fetchSettings,
refetchOnWindowFocus: false,
})refetchInterval для периодического опроса
useQuery({
queryKey: ['liveStats'],
queryFn: fetchStats,
refetchInterval: 5000, // every 5 seconds
})Данные-заполнитель
import { keepPreviousData } from '@tanstack/react-query';
useQuery({
queryKey: ['posts', page],
queryFn: () => fetchPage(page),
placeholderData: keepPreviousData,
})Быстрая проверка
Повторение
Далее
Часто задаваемые вопросы
Урок «Кэширование, время устаревания и фоновые запросы» бесплатный?
Да — полный текст урока «Кэширование, время устаревания и фоновые запросы» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс React Academy, подпишись на CoddyKit PRO. Курс React Academy содержит 4 уроков всего.
Чему я научусь в уроке «Кэширование, время устаревания и фоновые запросы»?
Настройте staleTime и gcTime, чтобы управлять повторным получением данных с сервера. Ты практикуешь React Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать React Academy?
Предыдущий опыт не требуется. React Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Кэширование, время устаревания и фоновые запросы»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке React Academy?
Да. Каждый урок React Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Настройка React Query и QueryClient
- Кэширование, время устаревания и фоновые запросы
- Мутации с useMutation
- Бесконечная прокрутка и разбиение на страницы с useInfiniteQuery