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

Preventing Browser Defaults منع السلوك الافتراضي للمتصفح

أتقن التعامل مع كائن الحدث الاصطناعي الموحد SyntheticEvent في React، وميّز بين target وcurrentTarget، وتحكّم في صعود الأحداث وإيقاف انتشارها ومنع السلوك الافتراضي.
4 صفوف تعليمية
ReactJS
0 مشاهدة

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

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

تمتلك بعض عناصر المتصفح سلوكاً تلقائياً مدمجاً؛ فإرسال عنصر <form> يعيد تحميل الصفحة كاملةً. وهنا نستدعي الدالة e.preventDefault() لإلغاء السلوك الافتراضي للمتصفح مع بقاء التطبيق حياً وسريعاً. احذر دائماً من الخلط بين إيقاف الانتشار ومنع السلوك الافتراضي كما يوضح الجدول المقارن التالي:

الدالة أو الخاصيةالوظيفة الهندسية الدقيقةحالة الاستخدام العملية في React
e.targetأعمق عنصر فرعي نقر عليه المستخدم فعلياًمعرفة العنصر الداخلي المحدد الذي استقبل الضغطة
e.currentTargetالعنصر الحامل لدالة المعالجة الحالية في JSXقراءة بيانات عنصر زر يضم أيقونة ونصاً بداخله
e.stopPropagation()إيقاف صعود الحدث إلى معالجات المكونات الأبعزل زر الحفظ أو الحذف داخل بطاقة قابلة للنقر
e.preventDefault()إلغاء السلوك الافتراضي المدمج في المتصفحمنع إعادة تحميل الصفحة عند إرسال نماذج <form>
الصف 2 كود برمجي
HTML
function NewsletterForm({ onSubmitted }) {
  function handleSubmit(e) {
    e.preventDefault();
    onSubmitted('Subscribed without page reload!');
  }
  return (
    <form onSubmit={handleSubmit}>
      <button type="submit">Subscribe</button>
    </form>
  );
}
الصف 3 ملاحظة هامة
الصف 4 ملاحظة هامة
خلاصة المعرفة ومحطة الانتقال

ملخص الدرس

حصاد الدرس

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

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

استكشفت في هذا الدرس كائن الحدث الاصطناعي الموحد SyntheticEvent، وفرقت عملياً بين target وcurrentTarget، وتتبعت مرحلتي الالتقاط والصعود عبر شجرة المكونات مع عزل النقرات الفرعية بـ stopPropagation ومنع تحديث الصفحة بـ preventDefault. الخطوة التالية: انتقل الآن إلى الدرس رقم 18 «ذاكرة المكون عبر useState وقواعد الخطافات» لمواصلة البناء التراكمي المتدرج في مسار React الحديث.