React Academy · درس

إعداد Astro وجزر React

اضبط Astro مع تكامل React، واستخدم التوجيهات client:load وclient:idle وclient:visible

الدرس 3 من 413 خطوة

إعداد Astro وجزر React درس مجاني في React Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في React Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة React Academy 4 دروس في المجموع.

إنشاء مشروع Astro

يتم إنشاء مشروع Astro باستخدام npx create astro@latest، الذي يشغّل معالجًا تفاعليًا لاختيار قالب وإعدادات TypeScript ومدير الحزم. يدعم Astro عدة قوالب ابتدائية، منها قالب فارغ وقالب للمدونات وقوالب للتوثيق.

إضافة تكامل React

تضيف تكاملات Astro دعم أطر العمل إلى المشروع. يؤدي تشغيل npx astro add react إلى تثبيت @astrojs/react وreact وreact-dom تلقائيًا، وتحديث astro.config.mjs لتضمين تكامل React. يستغرق الإعداد بأكمله أمرًا واحدًا.

ملفات Astro ثابتة افتراضيًا

ملف .astro هو تنسيق المكوّنات في Astro. ويتكوّن من قسم frontmatter (JavaScript بين سياجي ---) وقسم للقالب. يُخرج ملف Astro، افتراضيًا، HTML ثابتًا — ولا يُرسل أي JavaScript إلى المتصفح ما لم تُضف توجيهًا للعميل صراحةً.

استيراد مكوّن React

يستخدم استيراد مكوّن React إلى ملف Astro الصيغة القياسية لوحدات ES: import Counter from './Counter.jsx'. من دون توجيه للعميل، يعرض Astro مكوّن React من جانب الخادم بصيغة HTML ثابتة، ثم يرسل HTML هذا إلى المتصفح — من دون إرسال أي JavaScript للمكوّن.

تفعيل جزيرة باستخدام توجيه

تؤدي إضافة client:visible إلى وسم المكوّن في قالب Astro إلى تحويله إلى جزيرة: <Counter client:visible />. يرسل Astro الآن JavaScript الخاص بـ Counter، ويرطّبه عند ظهوره أثناء التمرير، ويجعله تفاعليًا. ومن دون التوجيه، يكون HTML ثابتًا.

مكوّنات React هي React قياسي

تُكتب مكوّنات React المستخدمة كجزر Astro باستخدام React القياسي — فهي تستخدم hooks والحالة والتأثيرات وأي مكتبة من مكتبات React. ولا توجد واجهة API خاصة بـ Astro داخل مكوّن React نفسه. يُحدَّد حدّ الجزيرة في قالب Astro، وليس داخل رمز المكوّن.

الحالة معزولة لكل جزيرة

كل نسخة من الجزيرة هي شجرة React مستقلة. ولا تشترك جزيرتا Counter في الصفحة نفسها في الحالة. إذا احتجتم إلى حالة مشتركة، فلديكم ثلاثة خيارات: دمجهما في جزيرة واحدة، أو استخدام معاملات البحث في URL للحالة القابلة للتسلسل، أو استخدام مكتبة للحالة المشتركة مثل nanostores.

التواصل بين الجزر باستخدام Nanostores

توفر مكتبة @nanostores/react ذرات خفيفة يمكن لأي جزيرة الاشتراك فيها. تكتب إحدى الجزر إلى ذرة في nano store، بينما تقرؤها جزيرة أخرى. وبما أن nano stores مستقلة عن إطار العمل، فإن هذا النمط يعمل أيضًا بين جزر React وVue في الصفحة نفسها.

مجموعات محتوى Astro

توفر مجموعات محتوى Astro طريقة آمنة من ناحية الأنواع لإدارة ملفات Markdown وMDX. عرّفوا مخطط مجموعة باستخدام Zod، وضعوا ملفات Markdown في src/content/، وسيُنشئ Astro دوال استعلام مكتوبة بالكامل. وهذا هو النمط القياسي لمنشورات المدونات والتوثيق وصفحات المنتجات.

بناء المشروع

يؤدي تشغيل astro build إلى إنشاء مجلد dist/ يحتوي على ملفات HTML ثابتة. ولكل صفحة، يُخرج Astro ملف HTML يتضمن المحتوى المعروض من جانب الخادم وحِزم JavaScript اللازمة فقط للجزر الموجودة في تلك الصفحة. أما الصفحات التي لا تحتوي على جزر، فلا تُخرج أي JavaScript.

خيارات النشر

يمكن نشر الناتج الثابت على أي CDN مثل Netlify وVercel وCloudflare Pages من دون خادم. ولتلبية احتياجات العرض من جانب الخادم، مثل المسارات الديناميكية ونقاط نهاية API، يدعم Astro محوّلات SSR لـ Node.js وVercel Edge وCloudflare Workers وDeno. وتعمل الجزر بالطريقة نفسها في كلا الوضعين.

توجيه تكامل React

ما التغيير الأدنى المطلوب على مكوّن React مستورد في قالب Astro لجعله تفاعليًا على العميل؟

مراجعة الدرس

أعدّوا Astro مع React باستخدام npx astro add react. تكون ملفات Astro ثابتة افتراضيًا؛ وتؤدي إضافة توجيه client: إلى وسم مكوّن React إلى تحويله إلى جزيرة مُرطّبة. مكوّنات React هي React قياسي ولا تستخدم واجهات API خاصة بـ Astro. وتكون الحالة معزولة لكل جزيرة، بينما تتيح nanostores التواصل بين الجزر. ويُخرج البناء HTML ثابتًا مع JavaScript الخاص بالجزر اللازمة فقط.

البدء مجانًا

تعلم React مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
88
الدروس
324

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

هل درس «إعداد Astro وجزر React» مجاني؟

نعم — نص درس «إعداد Astro وجزر React» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة React Academy، انتقل إلى CoddyKit PRO. تتضمن دورة React Academy 4 دروس في المجموع.

ماذا ستتعلم في «إعداد Astro وجزر React»؟

اضبط Astro مع تكامل React، واستخدم التوجيهات client:load وclient:idle وclient:visible تتمرن على React Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ React Academy؟

لا تُشترط خبرة سابقة. React Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «إعداد Astro وجزر React»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس React Academy هذا؟

نعم. كل درس في React Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. مشكلة التمهيد الكامل
  2. بنية الجزر: التمهيد الانتقائي
  3. إعداد Astro وجزر React
  4. قياس الأداء: Lighthouse وCore Web Vitals
← العودة إلى React Academy