Callback Props خصائص الاستجابة
آخر تحديث: 2026-11-03
Callback Props خصائص الاستجابة
يمكن للـ props أن تحمل دوالاً إلى جانب البيانات. يستدعي الابن دالة الاستجابة التي مرّرها الأب في اللحظة المناسبة ويبلّغ عن تغييره، فيتيح ذلك للابن تحديث حالة الأب — وهي الطريقة المعتادة للتواصل الصاعد مع بقاء تدفّق البيانات أحادي الاتجاه. يبقى الابن مسؤولاً عن العرض، ويبقى الأب مسؤولاً عن البيانات.
| المجموعة | العرض والحالة |
|---|---|
| النوع | نمط |
| منذ الإصدار | أقدم إصدارات React |
ℹ️ ملاحظة يحوّل المحرّر JSX إلى JavaScript ويعرض الواجهة الحقيقية داخل بيئة معزولة؛ تُركَّب المكوّنات تلقائياً دون استدعاء render يدوي.
📝 الصيغة
// الأب: مرّر دالة التحديث كـ prop
<Counter value={count} onChange={setCount} />
// الابن: استدعِ دالة الاستجابة في اللحظة المناسبة "لإبلاغ" عن التغيير
<button onClick={() => onChange(value + 1)}>+1</button>
⚙️ المعاملات
| onXxx (callback) | خاصية على شكل دالة يوفّرها المكوّن الأب؛ ويستطيع الابن استدعاؤها مع وسائط ليعيد نتيجة التفاعل إلى الأب ليتولّى معالجتها. |
|---|
القيمة المرجعة:لا قيمة معادة — مجرد اصطلاح برمجي ونموذج ذهني.
▶ مثال
المثال يعمل مباشرة: يُعرض تلقائياً عند التوسيع وتظهر التعديلات فوراً.
الناتج:
يُعرض في الوسط المجموع الكلي وزرّ عدّاد؛ كل نقرة ترفع الرقم داخل الزر وتحدّث المجموع فوقه — أي أن الابن عدّل حالة الأب عبر دالة الاستجابة.
💡 النقاط الأساسية
💡 نصيحة اصطلاح التسمية: خصائص الاستجابة تستخدم بادئة on (onChange)، بينما المعالج المعرَّف في الأب يستخدم بادئة handle (handleChange).
ℹ️ ملاحظة حين تحتاج عدة مكوّنات إلى الحالة نفسها، ارفعها إلى أبها المشترك وادمجها بخصائص الاستجابة لإغلاق الحلقة.
⚠️ تحذير تُنشأ دالة الاستجابة من جديد في كل عرض، فإذا حسّنت الأداء بـ memo تذكّر تثبيت المرجع بـ useCallback.
🏷️ المزيد من العرض والحالة
💡 حالات ذات صلة
المزيد من الحالات قريباً.
📚 دروس ذات صلة
❓ الأسئلة الشائعة
س كيف يعدّل الابن حالة أبيه؟
ج يمرّر الأب دالة setState (أو معالجاً يغلّفها) كـ prop، ويستدعيها الابن لإطلاق تحديث حالة في الأب.
س ما الفرق بين onXxx و handleXxx؟
ج onXxx تسمّي خاصية استجابة تُسلَّم للابن وتصف ما حدث؛ و handleXxx تسمّي المعالج الفعلي داخل الأب وتصف كيف يُعالَج.
س هل تؤثر خصائص الاستجابة على الأداء؟
ج الاستدعاء نفسه مهمل، لكن دالة تُنشأ في كل عرض تُبطل memo لدى الابن؛ استخدم useCallback لتثبيت المرجع عند التحسين العميق.