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

Avoid Mirroring Props in State تجنب نسخ الخصائص داخل الحالة

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

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

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

وأخيراً، تجنب نسخ الخصائص القادمة من الأب داخل متغير حالة إلا إذا كنت تقصد عمداً تجاهل كل تحديث مستقبلي! فكتابة const [bg, setBg] = useState(color) تقرأ القيمة الابتدائية عند أول تصيير فقط، وإذا غيّر الأب خاصية color لاحقاً فستظل الحالة عالقة على اللون القديم.

استخدم الخاصية مباشرة في العرض، وإذا أردت قيمة ابتدائية لمرة واحدة فسمِّ الخاصية بوضوح initialColor. يجمع الجدول التالي القواعد الهندسية لتصميم الحالة:

الخطأ المعماري في الحالةالمشكلة الناتجة في الواجهةالتصميم القياسي النظيف في React
رايات منطقية متعددة متضاربةظهور حالتين متناقضتين في اللحظة نفسهامتغير status نصي واحد واضح المراحل
تخزين المجاميع والفلاتر بالحالةاختلاف الأرقام عند إضافة أو حذف عنصرحساب القيم المشتقة مباشرة أثناء التصيير
نسخ الكائن المختار بالكاملتقادم لوحة التفاصيل بعد تعديل العنصرتخزين المعرّف selectedId والبحث بـ find
نسخ الخصائص داخل useStateتجاهل المكون الابن لتحديثات الأب اللاحقةقراءة الخاصية القادمة من الأب مباشرة
الصف 2 ملاحظة هامة
الصف 3 ملاحظة هامة
خلاصة المعرفة ومحطة الانتقال

ملخص الدرس

حصاد الدرس

مراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي

ماذا تعلّمت في هذا الدرس؟

أتقنت في هذا الدرس القواعد المعمارية لتصميم الحالة في React: تجميع البيانات المتلازمة، واستبدال الرايات المتناقضة بمتغير مرحلة واحد، وحساب القيم المشتقة أثناء التصيير، وتخزين المعرّفات بدلاً من نسخ الكائنات، وتسطيح الشجرات العميقة وعدم نسخ الخصائص. الخطوة التالية: انتقل الآن إلى الدرس رقم 26 «رفع الحالة للأعلى وهوية بقاء أو تصفير الحالة» لمواصلة البناء التراكمي المتدرج في مسار React الحديث.