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

Handle User Actions in Events عالج أفعال المستخدم بدوال الحدث

تخلص من الاستخدام الزائد لخطاف useEffect عبر حساب البيانات المشتقة أثناء التصيير، ومعالجة أفعال المستخدم في دوال الحدث، وتصفير الحالة بخاصية key مباشرة.
4 صفوف تعليمية
ReactJS
0 مشاهدة

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

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

للحسم الدقيق بين وضع الكود في معالج الحدث أو داخل التأثير، اسأل نفسك لماذا يجب أن يعمل هذا السطر الآن:

  • لأن المستخدم ضغط زراً محدداً أو أرسل نموذجاً: ضع الكود داخل onClick أو onSubmit مباشرة؛ وإذا اشترك زرّان في نفس الخطوات فاستخرج دالة مساعدة عادية واستدعها منهما معاً بدلاً من رفع راية حالة مؤقتة لتشغيل تأثير!
  • لأن المكون ظهر وعُرض أمام المستخدم على الشاشة: هنا نستخدم useEffect.
الصف 2 صورة توضيحية
مقارنة معمارية بين النمط الخاطئ لمزامنة الحالة بتأثير يسبب تصييرين وبين النمط الصحيح لحساب القيمة مباشرة أثناء التصيير في دورة واحدة
الصف 3 كود برمجي
HTML
function completeEnrollment(mode) {
  setReceipt('Enrolled via ' + mode + ' for ' + plan);
}
// Called directly from onClick — no Effect flag needed!
الصف 4 ملاحظة هامة