ما هي Props في الـ React ؟
من أهم مميزات React أنها تعتمد على مبدأ إعادة استخدام المكونات (Components).
لكن ماذا لو أردنا أن نرسل بيانات من مكون إلى آخر؟
هنا يأتي دور Props، وهي اختصار لـ Properties.
تعتبر Props الطريقة الأساسية لمشاركة البيانات بين المكونات في React.
ببساطة، Props هي القيم أو البيانات التي نمررها إلى المكون كـ معاملات (Arguments).
تشبه إلى حد كبير الـ Parameters في الدوال في JavaScript.
مثال بسيط:
function Welcome(props) {
return <h1>مرحبًا {props.name}</h1>;
}
<Welcome name="أحمد" />
<Welcome name="سارة" />
في هذا المثال:
- أنشأنا مكون
Welcome
يستقبلprops
. - مررنا خاصية
name
لكل نسخة من المكون. - النتيجة:
- مرحبًا أحمد
- مرحبًا سارة
لماذا نستخدم Props؟
- لفصل المنطق عن البيانات.
- لجعل المكونات قابلة لإعادة الاستخدام.
- لتسهيل مشاركة البيانات بين المكونات المختلفة.
- لكتابة كود منظم ومرن.
استخدام Props مع أكثر من قيمة
يمكننا تمرير أكثر من خاصية لمكون واحد:
function Profile(props) {
return (
<div>
<h2>{props.name}</h2>
<p>العمر: {props.age}</p>
<p>المدينة: {props.city}</p>
</div>
);
}
<Profile name="علي" age={25} city="القاهرة" />;
سيتم عرض:
علي
العمر: 25
المدينة: القاهرة
تفكيك Props (Destructuring)
بدلاً من كتابة props.name
و props.age
، يمكننا استخدام التفكيك (Destructuring):
function Profile({ name, age, city }) {
return (
<div>
<h2>{name}</h2>
<p>العمر: {age}</p>
<p>المدينة: {city}</p>
</div>
);
}
هذا يجعل الكود أبسط وأسهل في القراءة.
تمرير دوال كـ Props
يمكننا تمرير دوال كـ Props، وهذا مفيد جدًا للتفاعل مع الأحداث:
function Button({ onClick, label }) {
return <button onClick={onClick}>{label}</button>;
}
function App() {
const sayHello = () => alert("مرحبًا بك!");
return <Button onClick={sayHello} label="اضغط هنا" />;
}
هنا App
مرر دالة sayHello
لمكون Button
ليتم استدعاؤها عند النقر.
Props للأطفال (Children)
أحيانًا نريد تمرير عناصر كاملة داخل المكون.
يمكننا استخدام خاصية children المدمجة في React:
function Card({ children }) {
return <div className="card">{children}</div>;
}
<Card>
<h2>عنوان البطاقة</h2>
<p>هذا هو المحتوى داخل البطاقة</p>
</Card>;
سيتم عرض المحتوى داخل مكون Card
.
Props مقابل State
من المهم التمييز بين Props و State:
الخاصية | Props | State |
---|---|---|
المصدر | من المكون الأب | داخل المكون نفسه |
التعديل | لا يمكن تغييرها | قابلة للتغيير |
الغرض | مشاركة البيانات | إدارة البيانات الداخلية |
أفضل الممارسات عند استخدام Props
- اجعل المكونات قابلة لإعادة الاستخدام عن طريق تمرير Props مرنة.
- استخدم Destructuring لجعل الكود أوضح.
- مرر دوال عبر Props للتعامل مع الأحداث.
- لا تحاول تعديل قيمة Props داخل المكون.
- استعمل PropTypes أو TypeScript للتحقق من أنواع البيانات.
خلاصة
- Props هي وسيلة React لمشاركة البيانات بين المكونات.
- تشبه معاملات الدوال (Arguments).
- يمكن أن تكون نصوصًا، أرقامًا، دوالًا، أو حتى عناصر كاملة.
- تجعل المكونات أكثر مرونة وقابلة لإعادة الاستخدام.
بفضل Props، تستطيع إنشاء مكونات ديناميكية وذكية تعيد استخدام نفس الكود بطرق مختلفة.
إذا كنت تتعلم React، فإن فهم Props هو من أول الخطوات الأساسية لإتقان بناء واجهات المستخدم.
هل جربت تمرير بيانات بين المكونات باستخدام Props؟ ✨
شاركنا تجربتك!
التعليقات
شاركنا رأيك أو أسئلتك حول هذا المقال