التحديثات التفاؤلية وإبطال التخزين المؤقت
حدّث الواجهة فورًا عند تنفيذ الطفرة وأبطِل البيانات المخزنة مؤقتًا باستخدام العلامات.
التحديثات التفاؤلية وإبطال التخزين المؤقت درس مجاني في React Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في React Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة React Academy 4 دروس في المجموع.
مرحبًا
نقاط نهاية الطفرات
export const userApi = createApi({
/* ... */
endpoints: (builder) => ({
updateUser: builder.mutation({
query: ({ id, ...body }) => ({
url: '/users/' + id,
method: 'PUT',
body,
}),
}),
}),
});استخدام Hook للطفرات
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']));التحديثات التشاؤمية مقابل المتفائلة
متى تستخدمون الوسوم مقابل إعادة الجلب اليدوية
تحقق سريع
مراجعة
اكتمل المقرر
الأسئلة الشائعة
هل درس «التحديثات التفاؤلية وإبطال التخزين المؤقت» مجاني؟
نعم — نص درس «التحديثات التفاؤلية وإبطال التخزين المؤقت» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة React Academy، انتقل إلى CoddyKit PRO. تتضمن دورة React Academy 4 دروس في المجموع.
ماذا ستتعلم في «التحديثات التفاؤلية وإبطال التخزين المؤقت»؟
حدّث الواجهة فورًا عند تنفيذ الطفرة وأبطِل البيانات المخزنة مؤقتًا باستخدام العلامات. تتمرن على React Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ React Academy؟
لا تُشترط خبرة سابقة. React Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «التحديثات التفاؤلية وإبطال التخزين المؤقت»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس React Academy هذا؟
نعم. كل درس في React Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- شرائح Redux Toolkit وcreateSlice
- المنطق غير المتزامن باستخدام createAsyncThunk
- RTK Query: نقاط النهاية والتخزين المؤقت التلقائي
- التحديثات التفاؤلية وإبطال التخزين المؤقت