RTK Query:Endpointsと自動キャッシュ
createApiでqueryとmutationのendpointsを定義し、RTK Queryにキャッシュ管理を任せます。
「RTK Query:Endpointsと自動キャッシュ」はCoddyKit上の無料React Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはReact Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 React Academyコースには全4レッスンが含まれています。
はじめに
RTK Queryとは
createApiによるAPIの作成
import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react';
export const userApi = createApi({
reducerPath: 'userApi',
baseQuery: fetchBaseQuery({ baseUrl: '/api' }),
endpoints: (builder) => ({
getUser: builder.query({ query: (id) => '/users/' + id }),
getUsers: builder.query({ query: () => '/users' }),
}),
});
export const { useGetUserQuery, useGetUsersQuery } = userApi;APIのストアへの追加
import { configureStore } from '@reduxjs/toolkit';
import { userApi } from './userApi';
export const store = configureStore({
reducer: { [userApi.reducerPath]: userApi.reducer },
middleware: (gDM) => gDM().concat(userApi.middleware),
});クエリーフックの使用
function UserCard({ id }) {
const { data, isLoading, isError } = useGetUserQuery(id);
if (isLoading) return <Spinner />;
if (isError) return <p>Error</p>;
return <p>{data.name}</p>;
}自動的な重複排除
keepUnusedDataForによるキャッシュTTL
endpoints: (builder) => ({
getUser: builder.query({
query: id => '/users/' + id,
keepUnusedDataFor: 300, // 5 minutes
}),
})ライブデータのポーリング
const { data } = useGetStatsQuery(undefined, {
pollingInterval: 5000, // refetch every 5 seconds
});クエリー引数とスキップ
const { data } = useGetUserQuery(userId, { skip: !userId });レスポンスの変換
getUsers: builder.query({
query: () => '/users',
transformResponse: (raw) => raw.data.users,
})理解度チェック
まとめ
次のレッスン
よくある質問
「RTK Query:Endpointsと自動キャッシュ」レッスンは無料ですか?
はい。「RTK Query:Endpointsと自動キャッシュ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、React Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 React Academyコースには全4レッスンが含まれています。
「RTK Query:Endpointsと自動キャッシュ」で何を学びますか?
createApiでqueryとmutationのendpointsを定義し、RTK Queryにキャッシュ管理を任せます。 ブラウザで直接実行するハンズオンコードでReact Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
React Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのReact Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「RTK Query:Endpointsと自動キャッシュ」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このReact Academyレッスンでコードを書いて実行できますか?
はい。すべてのReact Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Redux ToolkitのSlicesとcreateSlice
- createAsyncThunkによる非同期ロジック
- RTK Query:Endpointsと自動キャッシュ
- Optimistic Updatesとキャッシュ無効化