WC
WEB CREATOR AIالحقيبة التدريبية

تقسيم الصفحة إلى أجزاء منظمة وتجهيز ملفات المشروع

فهم المجلدات الثلاثة الرئيسية في المشروع وكيف نقسم الصفحة إلى أقسام وبطاقات مرتبة

0 / 2 أنشطة مكتملة (0%)
ماذا ستتعلم وتنجز في هذه الجلسة؟ (اضغط للعرض)▼
  • إنشاء مكونات Button و Card و Badge مشتركة قابلة للتخصيص
أنشطة الجلسة بالترتيب (اختر النشاط):
النشاط 1 من 2قيد التنفيذ
25 دقيقة تقريبًا

النشاط 01: تفكيك الواجهة إلى مكونات React مستقلة

حول كود الزر والشارة إلى مكونات ذكية يمكن إعادة استخدامها في مئات الأماكن

1. ما المطلوب في هذا النشاط؟

أبني مكون Button يقبل خصائص مختلفة مثل الحجم واللون والنص والأيقونة.

ما الفائدة العملية من هذا النشاط؟

في المشاريع الحقيقية، لا نكرر كتابة كود الزر في كل صفحة؛ بل نعدله في ملف واحد ليتحدث تلقائياً في كامل الموقع.

2. خطوات التنفيذ خطوة بخطوة:

1

أنشئ ملف المكون وحدد واجهة الـ Props باستخدام TypeScript.

2

مرر الأطفال (children) أو النص كـ Prop.

3

استخدم المكون المخصص داخل صفحتك واستدعِه 3 مرات بألوان مختلفة.

3. كيف تعرف أن النتيجة جاهزة؟

مكون Button قابل للتخصيص وإعادة الاستخدام في كل أجزاء تطبيقك.

📄 قالب البداية أو الكود المساعد (اضغط للعرض أو النسخ)▼
template
interface ButtonProps {
  children: React.ReactNode;
  variant?: 'primary' | 'secondary' | 'outline';
  onClick?: () => void;
}

export const CustomButton: React.FC<ButtonProps> = ({
  children,
  variant = 'primary',
  onClick,
}) => {
  const styles = {
    primary: 'bg-blue-600 text-white hover:bg-blue-700',
    secondary: 'bg-slate-100 text-slate-800 hover:bg-slate-200',
    outline: 'border border-slate-300 text-slate-700 hover:bg-slate-50',
  };

  return (
    <button
      onClick={onClick}
      className={`px-4 py-2 rounded-xl text-xs font-bold transition-all ${styles[variant]}`}
    >
      {children}
    </button>
  );
};
تلميحات مساعدة (1)▼
  • • 💡 استخدم قيمة افتراضية للخصائص مثل variant = "primary" لتسهيل الاستخدام.

4. مساحة الحل وتسليم النتيجة عبر واتساب

اكتب إجابتك أو الكود أو رابط عملك في الصندوق أدناه. تُحفظ مسودتك تلقائيًا في متصفحك، وعند الضغط على «إرسال النتيجة عبر واتساب» سيتم حفظ الإجابة في سجل تقدمك وفتح رسالة واتساب جاهزة لإرسالها للمدرب (+90 538 201 50 72).

0 حرف•تم الحفظ التلقائي في المتصفح
* اكتب إجابتك أولًا لتفعيل أزرار الحفظ والإرسال