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

Cleaning Global Event Listeners إزالة مستمعي أحداث النافذة

اكتب دوال التنظيف داخل useEffect لإلغاء المؤقتات ومستمعي أحداث النافذة ومنع تسرب الذاكرة، وافهم دورة المزامنة وفحص المتانة في الوضع الصارم StrictMode.
3 صفوف تعليمية
ReactJS
0 مشاهدة

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

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

ترتبط خصائص مثل onClick بعناصر المكون نفسه، أما الأحداث العامة على مستوى المتصفح — كتغير عرض النافذة resize أو حالة الاتصال بالشبكة أو اختصارات لوحة المفاتيح العامة مثل مفتاح Escape — فتُسجل على كائن window أو document.

عرّف دالة معالجة مسماة داخل التأثير، ومررها إلى window.addEventListener، ثم مرر نفس مرجع الدالة بالضبط إلى window.removeEventListener داخل دالة التنظيف.

الصف 2 كود برمجي
HTML
useEffect(() => {
  function onKey(e) {
    setLastKey(e.key);
  }
  window.addEventListener('keydown', onKey);
  return () => {
    window.removeEventListener('keydown', onKey);
  };
}, []);
الصف 3 ملاحظة هامة