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

Avoid Duplicating Selected Item تخزين المعرف بدلاً من العنصر

صمّم هياكل حالة متينة في React عبر تجميع البيانات المترابطة ومنع الرايات المتناقضة وحساب القيم المشتقة أثناء التصيير وتخزين المعرّفات دون نسخ الخصائص.
3 صفوف تعليمية
ReactJS
0 مشاهدة

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

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

تنص القاعدة الرابعة على منع تكرار الكائنات داخل الحالة. فلو كنت تبني قائمة دروس قابلة للتعديل وخزّنت المصفوفة lessons وبجانبها نسخة كاملة من الكائن المختار selectedLesson، فإن تعديل عنوان الدرس داخل المصفوفة سيترك الكائن المنسوخ حاملاً للعنوان القديم المتقادم!

الحل القياسي هو تخزين المعرّف فقط selectedId، ثم استخراج الكائن الحي في كل تصيير عبر lessons.find((l) => l.id === selectedId).

الصف 2 كود برمجي
HTML
const [items, setItems] = useState(INITIAL_MODS);
const [selectedId, setSelectedId] = useState('m1');
const active = items.find((m) => m.id === selectedId);
الصف 3 ملاحظة هامة