ما هي Components في React؟ شرح شامل لكيف تعمل ولماذا تعتبر أساس بناء التطبيقات

تم النشر | بواسطة: Nourhan | Apr 21, 2026 | منذ يوم و16 ساعة |
تصميم
| عدد المشاهدات: 190
ما هي Components في React؟ شرح شامل لكيف تعمل ولماذا تعتبر أساس بناء التطبيقات

ما هي Components في React وكيف تعمل؟ دليل شامل لبناء واجهات احترافية

 

إذا كنت بدأت في تعلم React، فبالتأكيد سمعت عن Components. في الحقيقة، لا يمكن فهم React بدون فهم هذا المفهوم، لأنه يمثل الأساس الذي تُبنى عليه كل التطبيقات.

React لا يتعامل مع الصفحة ككتلة واحدة، بل يقسمها إلى أجزاء صغيرة قابلة لإعادة الاستخدام—وهذه الأجزاء تُسمى Components.

فهمك الجيد للـ Components سيغير طريقة تفكيرك في بناء الواجهات، ويجعلك تكتب كود أكثر تنظيمًا، قابلًا لإعادة الاستخدام، وأسهل في الصيانة.

في هذا المقال، سنشرح ما هي Components، كيف تعمل، ولماذا هي جوهر React، مع أمثلة عملية مبسطة.


ما هي Components في React؟

تعريف مبسط

الـ Components هي وحدات صغيرة مستقلة تمثل جزءًا من واجهة المستخدم.

بمعنى:

كل جزء في الصفحة (زر، قائمة، كارت، Header) يمكن أن يكون Component منفصل.


الفكرة الأساسية وراء Components

بدل بناء صفحة كاملة مرة واحدة، تقوم بتقسيمها إلى أجزاء مثل:

  • Header (الهيدر)
  • Navbar (شريط التنقل)
  • Product Card (كارت منتج)
  • Footer (الفوتر)

كل جزء من هذه الأجزاء هو Component.


لماذا تعتبر Components مهمة؟

1. إعادة الاستخدام (Reusability)

يمكنك استخدام نفس Component في أكثر من مكان.

مثال:

  • كارت المنتج يظهر في الصفحة الرئيسية
  • ويظهر أيضًا في صفحة البحث

2. تنظيم الكود

بدل وجود ملف ضخم:

  • يتم تقسيم الكود إلى أجزاء صغيرة
  • كل جزء له مسؤولية واضحة

3. سهولة الصيانة

عند تعديل Component:

  • يتم التعديل في مكان واحد فقط
  • وينعكس على كل الأماكن التي تستخدمه

كيف تعمل Components في React؟

الفكرة الأساسية

كل Component:

  • يستقبل بيانات (Inputs)
  • يعالجها
  • يعرض نتيجة (UI)

دورة العمل بشكل مبسط

  1. يتم استدعاء Component
  2. يتم تمرير بيانات له
  3. يعرض واجهة بناءً على هذه البيانات
  4. يتحدث عند تغير البيانات

أنواع Components في React

1. Functional Components

هي النوع الحديث والأكثر استخدامًا.

مميزاتها:

  • بسيطة وسهلة الفهم
  • تعتمد على Functions
  • تدعم Hooks

2. Class Components

النوع القديم نسبيًا.

مميزاتها:

  • كانت تستخدم لإدارة الحالة
  • أكثر تعقيدًا
  • أقل استخدامًا الآن

جدول مقارنة بين Functional و Class Components

الميزة (Feature) Functional Components Class Components
السهولة سهلة وبسيطة أكثر تعقيدًا
الأداء أفضل في معظم الحالات أقل كفاءة نسبيًا
الاستخدام الحالي الأكثر استخدامًا نادر الاستخدام
دعم Hooks نعم لا
الصيانة أسهل أصعب

كيف تفكر باستخدام Components؟

بدل التفكير في الصفحة ككل، فكّر:

"ما هي الأجزاء التي يمكن تقسيمها؟"


مثال عملي: صفحة متجر إلكتروني

بدل بناء الصفحة مرة واحدة:

  • Header Component
  • Product List Component
  • Product Card Component
  • Footer Component

Props: كيف تتواصل Components؟

تعريف بسيط

Props هي البيانات التي يتم تمريرها من Component إلى آخر.


مثال واقعي

تخيل كارت منتج:

  • اسم المنتج
  • السعر
  • الصورة

بدل إنشاء كارت لكل منتج:

  • تستخدم نفس Component
  • وتغير البيانات فقط

State: كيف تدير البيانات داخل Component؟

تعريف مبسط

State هي البيانات التي يمتلكها Component ويمكن أن تتغير.


مثال واقعي

زر "إضافة إلى السلة":

  • قبل الضغط: يظهر "Add to Cart"
  • بعد الضغط: يتغير إلى "Added"

هذا التغيير يتم عبر State.


الفرق بين Props و State

الميزة (Feature) Props State
المصدر تأتي من Component الأب داخل Component نفسه
التغيير لا تتغير داخل Component يمكن تغييرها
الاستخدام تمرير البيانات إدارة التفاعل

أمثلة واقعية على استخدام Components

1. Navbar

  • يحتوي على روابط
  • يتم استخدامه في كل الصفحات

2. Button

  • يمكن استخدامه في:
    • Forms
    • Cards
    • Modals

3. Card Component

  • يستخدم لعرض:
    • منتجات
    • مقالات
    • مستخدمين

أفضل الممارسات عند استخدام Components

  • اجعل كل Component له وظيفة واحدة
  • لا تجعل Component كبير جدًا
  • استخدم أسماء واضحة
  • أعد استخدام Components بدل تكرارها
  • فصل المنطق عن العرض قدر الإمكان

أخطاء شائعة يجب تجنبها

❌ إنشاء Components ضخمة

  • يجعل الكود صعب الفهم

❌ عدم إعادة الاستخدام

  • يؤدي إلى تكرار الكود

❌ تمرير بيانات غير ضرورية

  • يزيد التعقيد بدون فائدة

كيف تجعل Components احترافية؟

  • فكّر في القابلية لإعادة الاستخدام
  • اجعلها مرنة وقابلة للتعديل
  • استخدم Props بشكل ذكي
  • حافظ على بساطة التصميم

كيف تفكر كمطور React محترف؟

بدل التفكير:

"كيف أبني الصفحة؟"

فكّر:

  • ما هي مكونات الصفحة؟
  • ما الذي يمكن إعادة استخدامه؟
  • كيف تتواصل هذه المكونات؟

خلاصة

Components هي قلب React.

  • تجعل الكود منظم
  • تسهل إعادة الاستخدام
  • تبسط بناء التطبيقات

كلما أتقنت استخدامها، أصبحت قادرًا على بناء تطبيقات احترافية بسهولة.

 

الأسئلة الشائعة (FAQ)

1. ما هي Components في React؟

هي أجزاء صغيرة تمثل عناصر في واجهة المستخدم ويمكن إعادة استخدامها.


2. ما الفرق بين Props و State؟

Props تُمرر من الخارج، بينما State تُدار داخل Component.


3. هل يجب استخدام Functional Components؟

نعم، هي الأفضل والأكثر استخدامًا حاليًا.


4. لماذا نستخدم Components؟

لتقسيم الكود، إعادة الاستخدام، وتحسين التنظيم.


5. هل يمكن استخدام Component داخل آخر؟

نعم، وهذا هو أساس بناء واجهات React.

 

🚀 البداية في إيدك

كل اللي محتاجه منك:

التزام

مذاكرة

وصبر

ومع النظام الصح…
هتوصل لنفس النتيجة اللي وصلها مبرمجين كتير بدأوا من الصفر
ودلوقتي شغالين في المجال 💪

🚀 ابدأ رحلتك مع كرياتيفو
وخد أول خطوة حقيقية نحو مستقبلك في البرمجة
📱 ابعتلنا علي واتساب
💬 ابعتلنا علي فيسبوك

الكلمات المفتاحية

react components ما هي components في react شرح components في react react بالعربي تعلم react react للمبتدئين شرح react مكونات react components شرح بالعربي react tutorial front end تطوير واجهات برمجة الويب jsx في react props و state في react react hooks تعلم البرمجة web development functional components class components

مقالات مشابهة

برمجة

ما الفرق بين الموقع الستاتيكي والديناميكي وكيف يصنعه PHP ؟

تعرف على الفرق بين المواقع الستاتيكية والديناميكية، وكيف تستخدم PHP لبناء مواقع تفاعلية تعتمد على قواعد البيانات وتجربة مستخدم متقدمة.

17 Apr, 2026
تفاصيل المقال
برمجة

كيف يفكر السيرفر؟ — فهم دورة حياة الـ Request من الألف للياء

تعرف على دورة حياة الـ Request في PHP خطوة بخطوة، من لحظة إدخال الرابط حتى عرض الصفحة، مع شرح عملي يساعدك على فهم كيفية عمل السيرفر وتحسين الأداء.

21 Apr, 2026
تفاصيل المقال
برمجه

ما الفرق بين الـ DELETE و TRUNCATE و DROP في MySQL؟

الفروقات الجوهرية بين أوامر الحذف DELETE و TRUNCATE و DROP في MySQL. تعلم متى تستخدم كل أمر لتحسين أداء مشروعك وحماية بياناتك.

22 Apr, 2026
تفاصيل المقال
برمجة

كيف تختار القالب أو الهيكل المناسب لمشروع PHP بدون Laravel أو Symfony؟

تعرف على كيفية اختيار الهيكل المناسب لمشروع PHP بدون Laravel أو Symfony، ومتى تستخدم Raw PHP أو Micro-Framework لبناء تطبيقات احترافية وقابلة للتوسع.

21 Apr, 2026
تفاصيل المقال
برمجة

أفضل إضافات VS Code لمطوري PHP في 2026

اكتشف أفضل إضافات VS Code لمطوري PHP في 2026 مع شرح شامل لأهم الأدوات التي تساعدك على تحسين الإنتاجية، كتابة كود نظيف، والعمل باحترافية على مشاريع Laravel وPHP.

16 Apr, 2026
تفاصيل المقال
برمجة

ما هو الـ Virtual Environment؟ ولماذا يستخدمه مطورو Python؟

تعرف على مفهوم الـ Virtual Environment في بايثون، وأهميته في تنظيم مشاريعك البرمجية وتجنب تضارب المكتبات.

19 Apr, 2026
تفاصيل المقال