キャッシュ、Stale Time、バックグラウンド再取得
staleTimeとgcTimeを設定し、サーバーからデータを再取得するタイミングを制御します。
「キャッシュ、Stale Time、バックグラウンド再取得」はCoddyKit上の無料React Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはReact Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 React Academyコースには全4レッスンが含まれています。
ようこそ
Fresh なデータと Stale なデータ
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
})Placeholder Data
import { keepPreviousData } from '@tanstack/react-query';
useQuery({
queryKey: ['posts', page],
queryFn: () => fetchPage(page),
placeholderData: keepPreviousData,
})確認問題
まとめ
次に学ぶこと
よくある質問
「キャッシュ、Stale Time、バックグラウンド再取得」レッスンは無料ですか?
はい。「キャッシュ、Stale Time、バックグラウンド再取得」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、React Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 React Academyコースには全4レッスンが含まれています。
「キャッシュ、Stale Time、バックグラウンド再取得」で何を学びますか?
staleTimeとgcTimeを設定し、サーバーからデータを再取得するタイミングを制御します。 ブラウザで直接実行するハンズオンコードでReact Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
React Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのReact Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「キャッシュ、Stale Time、バックグラウンド再取得」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このReact Academyレッスンでコードを書いて実行できますか?
はい。すべてのReact Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- React QueryとQueryClientのセットアップ
- キャッシュ、Stale Time、バックグラウンド再取得
- useMutationによるMutation
- useInfiniteQueryによる無限スクロールとページネーション