شرح صفوف ومحتوى الفقرة
تنص القاعدة الرابعة على منع تكرار الكائنات داخل الحالة. فلو كنت تبني قائمة دروس قابلة للتعديل وخزّنت المصفوفة lessons وبجانبها نسخة كاملة من الكائن المختار selectedLesson، فإن تعديل عنوان الدرس داخل المصفوفة سيترك الكائن المنسوخ حاملاً للعنوان القديم المتقادم!
الحل القياسي هو تخزين المعرّف فقط selectedId، ثم استخراج الكائن الحي في كل تصيير عبر lessons.find((l) => l.id === selectedId).
HTML
const [items, setItems] = useState(INITIAL_MODS);
const [selectedId, setSelectedId] = useState('m1');
const active = items.find((m) => m.id === selectedId);