Optimistic Updatesとキャッシュ無効化
mutation時にUIを即座に更新し、tagsでキャッシュされたデータを無効化します。
「Optimistic Updatesとキャッシュ無効化」はCoddyKit上の無料React Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはReact Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 React Academyコースには全4レッスンが含まれています。
はじめに
ミューテーションエンドポイント
export const userApi = createApi({
/* ... */
endpoints: (builder) => ({
updateUser: builder.mutation({
query: ({ id, ...body }) => ({
url: '/users/' + id,
method: 'PUT',
body,
}),
}),
}),
});ミューテーションフックの使用
const [updateUser, { isLoading }] = useUpdateUserMutation();
const handleSave = async () => {
await updateUser({ id: 1, name: 'Alice' });
};無効化用のキャッシュタグ
endpoints: (builder) => ({
getUsers: builder.query({
query: () => '/users',
providesTags: ['User'],
}),
deleteUser: builder.mutation({
query: (id) => ({ url: '/users/' + id, method: 'DELETE' }),
invalidatesTags: ['User'],
}),
})きめ細かなタグの無効化
providesTags: (result, error, id) => [{ type: 'User', id }],
invalidatesTags: (result, error, { id }) => [{ type: 'User', id }]onQueryStartedによる楽観的更新
updateUser: builder.mutation({
query: (user) => ({ url: '/users/' + user.id, method: 'PUT', body: user }),
async onQueryStarted(user, { dispatch, queryFulfilled }) {
const patch = dispatch(
userApi.util.updateQueryData('getUser', user.id, draft => {
Object.assign(draft, user);
})
);
try { await queryFulfilled; }
catch { patch.undo(); } // roll back on error
},
})タグタイプのすべてのインスタンスの無効化
providesTags: result =>
result ? [
...result.map(({ id }) => ({ type: 'User', id })),
{ type: 'User', id: 'LIST' },
] : [{ type: 'User', id: 'LIST' }]キャッシュの手動無効化
dispatch(userApi.util.invalidateTags(['User']));悲観的更新と楽観的更新
タグと手動再フェッチの使い分け
理解度チェック
まとめ
コース修了
よくある質問
「Optimistic Updatesとキャッシュ無効化」レッスンは無料ですか?
はい。「Optimistic Updatesとキャッシュ無効化」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、React Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 React Academyコースには全4レッスンが含まれています。
「Optimistic Updatesとキャッシュ無効化」で何を学びますか?
mutation時にUIを即座に更新し、tagsでキャッシュされたデータを無効化します。 ブラウザで直接実行するハンズオンコードでReact Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
React Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのReact Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「Optimistic Updatesとキャッシュ無効化」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このReact Academyレッスンでコードを書いて実行できますか?
はい。すべてのReact Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Redux ToolkitのSlicesとcreateSlice
- createAsyncThunkによる非同期ロジック
- RTK Query:Endpointsと自動キャッシュ
- Optimistic Updatesとキャッシュ無効化