شرح صفوف ومحتوى الفقرة
لا يلغي أحد الخطافين الآخر، بل يختار مهندس React الأداة الأنسب لطبيعة المكون؛ فخطاف useState مثالي للقيم المستقلة البسيطة، بينما يتألق useReducer عندما تتشابك عدة حقول في عملية تحديث واحدة، أو تحتاج لتتبع سبب كل انتقال بدقة، أو ترغب في اختبار منطق الحالة منفرداً كدالة JavaScript قياسية. يوضح الجدول التالي معايير المفاضلة:
| معيار المقارنة | خطاف useState | خطاف useReducer |
|---|---|---|
| حجم الشفرة المبدئي | مختصر جداً للقيم الفردية المستقلة | يتطلب تعريف دالة المخفض وكائنات الأوامر |
| الوضوح مع نمو التعقيد | تتشتت التحديثات عند كثرة معالجات الأحداث | يجمع كل مسارات الانتقال في مكان مركزي واحد |
| سهولة التتبع والتشخيص | يكشف القيمة الجديدة دون توضيح سبب التغيير | يوثق نوع الأمر وحمولته بدقة لكل انتقال |
| الاختبار البرمجي المنعزل | مرتبط بتشغيل المكون ورسم الواجهة | دالة نقية تُختبر مباشرة بمدخلات ومخرجات صريحة |
ملخص الدرس
حصاد الدرسمراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي
ماذا تعلّمت في هذا الدرس؟
تعلّمت في هذا الدرس كيفية استخلاص تحديثات الحالة المزدحمة في دالة مخفض نقية، وتشغيل خطاف useReducer مع دالة الإرسال dispatch، وتصميم أوامر واضحة تعبر عن تفاعل المستخدم دون تعديل مباشر للكائنات، والمفاضلة الهندسية الدقيقة بين useState وuseReducer. الخطوة التالية: انتقل الآن إلى الدرس رقم 29 «مشاركة البيانات بعمق عبر createContext وuseContext» لمواصلة البناء التراكمي المتدرج في مسار React الحديث.