انتقل إلى محتوى الدرس

Optimistic UI and Safe Rollback التحديث المتفائل والتراجع الآمن

أرسل طلبات الإنشاء والتحديث والحذف عبر أفعال POST وPUT وDELETE من دوال الأحداث في React مع تعطيل الأزرار أثناء الحفظ والتراجع الآمن وحماية جلسات المصادقة.
3 صفوف تعليمية
ReactJS
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

في التفاعلات السريعة كتبديل حالة إنجاز مهمة أو حفظ عنصر في المفضلة، قد يبدو انتظار استجابة الشبكة بطيئاً. يعتمد نمط التحديث المتفائل (Optimistic UI) على تحديث الحالة المحلية في الواجهة فوراً، مع الاحتفاظ المسبق بنسخة المرجع الأصلي const previousTasks = tasks.

فإذا فشل الطلب في الخلفية أو رد الخادم بخطأ، نستعيد النسخة السابقة فوراً عبر setTasks(previousTasks) ونعرض تنبيهاً صادقاً يوضح تعذر الحفظ الفعلي.

الصف 2 كود برمجي
HTML
const snapshot = tasks;
setTasks((prev) =>
  prev.map((t) =>
    t.id === id ? { ...t, done: !t.done } : t
  )
);
const res = await fetch(url, { method: 'PUT', body });
if (!res.ok) {
  setTasks(snapshot);
  setRollbackNotice('Save failed — reverted!');
}
الصف 3 ملاحظة هامة