Event Parameters وسائط الحدث

آخر تحديث: 2026-11-03

Event Parameters وسائط الحدث

تستقبل دالة معالجة الحدث كائن الحدث e وتستطيع قراءة قيم مثل target.value أو key منه. وحين يلزم تمرير وسائط إضافية، لُفّ الاستدعاء في دالة سهمية — onClick={() => fn(id)} — لأن كتابة fn(id) ستنفّذها أثناء العرض. ومنذ React 17 لم يعد React يجمّع كائنات الأحداث، فبإمكانك الاحتفاظ بواحدة وقراءتها لاحقاً بأمان.

المجموعةالعرض والحالة
النوعنمط
منذ الإصدارأقدم إصدارات React

ℹ️ ملاحظة يحوّل المحرّر JSX إلى JavaScript ويعرض الواجهة الحقيقية داخل بيئة معزولة؛ تُركَّب المكوّنات تلقائياً دون استدعاء render يدوي.

📝 الصيغة

onChange={(e) => setName(e.target.value)}  // e: كائن الحدث
onClick={() => remove(id)}                 // وسائط إضافية: لُفّها في دالة سهمية
onClick={(e) => remove(id, e)}             // الوسائط وكائن الحدث معاً

⚙️ المعاملات

e (event object)كائن الحدث المُركَّب في React؛ تقرأ e.target.value القيمة الحالية لحقل الإدخال، ويخبرك e.type بنوع الحدث الذي وقع.

القيمة المرجعة:لا قيمة معادة — مجرد اصطلاح برمجي ونموذج ذهني.

▶ مثال

المثال يعمل مباشرة: يُعرض تلقائياً عند التوسيع وتظهر التعديلات فوراً.

الناتج:

ثلاثة أزرار بألوان؛ الضغط على أحدها يسجّل «Picked #xxxxxx (event type: click)» أسفل، الأحدث أولاً وبحد أقصى ثلاثة إدخالات — عرض لتمرير وسائط مخصّصة إلى معالج الحدث.

💡 النقاط الأساسية

💡 نصيحة اكتب () => fn(x) لتمرير الوسائط؛ فكتابة fn(x) مباشرة تنفّذها أثناء العرض — وهو أشيع خلل عند تمرير وسائط الأحداث.
ℹ️ ملاحظة أكثر الخصائص استخداماً هما e.target.value (القيمة الحالية لحقل الإدخال) و e.key (المفتاح الذي ضُغط في أحداث لوحة المفاتيح).
ℹ️ ملاحظة منذ React 17 لم تعد كائنات الأحداث مجمَّعة، فبإمكانك حفظ واحدة أو قراءتها بشكل غير متزامن من دون استدعاء e.persist().
المزيد من الحالات قريباً.

📚 دروس ذات صلة

❓ الأسئلة الشائعة

س كيف أمرّر وسائط إلى onClick؟
ج غلّف الاستدعاء في دالة سهمية: onClick={() => remove(id)}؛ وإذا احتجت كائن الحدث أيضاً فاكتب onClick={(e) => remove(id, e)}.
س ما خصائص كائن الحدث e الأكثر استخداماً؟
ج ‏e.target (العنصر الذي أطلق الحدث، ويُدمج غالباً مع .value لقراءة الإدخال)، و e.type (نوع الحدث)، و e.key (مفتاح لوحة المفاتيح)، و e.clientX/Y (موضع الماوس).
س أستخدم الدوال السهمية أم bind لتمرير الوسائط؟
ج الكود الحديث يستخدم الدوال السهمية دائماً؛ فهي أوضح في القراءة. أما bind فهو الأسلوب الأقدم بالنتيجة نفسها لكن القراءة أسوأ، فلا تحتاجه في المشاريع الجديدة.
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%