0Pricing
React Academy · درس

إجراءات الخادم في React 19 وNext.js

افهم كيفية تنفيذ Server Actions على الخادم، واحتفاظها بسياق الخادم، وإعادتها البيانات إلى العميل

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

ما المقصود بإجراءات الخادم

Server Actions هي دوال غير متزامنة تُنفذ على الخادم، وليس في المتصفح. ويُشار إليها بتوجيه 'use server' الموضوع في بداية الملف أو في بداية جسم الدالة، لإبلاغ إطار العمل بأن هذه الدالة يجب ألا تعمل على جانب العميل مطلقًا.

الوصول إلى سياق الخادم

بما أن إجراءات الخادم تعمل على الخادم، فإنها تتمتع بإمكانية الوصول إلى سياق الخادم الكامل، بما في ذلك اتصالات قاعدة البيانات، وأسرار البيئة، وبيانات الجلسة، وموارد نظام الملفات. ويختلف هذا اختلافًا جوهريًا عن مكوّنات العميل التي لا يمكنها الوصول إلا إلى ما يتيحه المتصفح.

آلية نقل HTTP الداخلية

عندما يستدعي مكوّن عميل إجراءً من إجراءات الخادم، ينشئ Next.js تلقائيًا طلب HTTP من النوع POST إلى نقطة نهاية RSC خاصة. ويتولى الإطار جميع عمليات تسلسل الوسائط وطبقة النقل، لذلك لن تضطروا إلى كتابة استدعاءات fetch() يدويًا لعمليات التعديل هذه.

لا حاجة إلى مسار API

تغني إجراءات الخادم عن الحاجة إلى مسارات API في العديد من سيناريوهات تعديل البيانات. فالإجراء نفسه هو نقطة النهاية؛ إذ تعرّفون المنطق مرة واحدة على شكل دالة تعمل على الخادم، ثم تستدعونها مباشرةً من مكوّن العميل كما لو كانت دالة محلية.

ميزة أساسية في React 19

كانت إجراءات الخادم في البداية مفهومًا خاصًا بـ Next.js، لكن React 19 يرفعها إلى ميزة أساسية في React. وهذا يعني أن أدوات التجميع والأطر الأخرى غير Next.js يمكنها تطبيق النمط نفسه وفقًا لمواصفات React.

الاستقرار والتوافر

تُعد إجراءات الخادم تجريبية في الإصدار المرشح من React 19، لكنها مستقرة في App Router في Next.js 14 والإصدارات الأحدث منذ تقديمها. وإذا كنتم تبنون تطبيقًا إنتاجيًا اليوم باستخدام App Router في Next.js، فإن إجراءات الخادم نمط مدعوم بالكامل وموصى به.

الأمان: تبقى الأسرار على الخادم

من أهم خصائص الأمان في إجراءات الخادم أن الأسرار لا تصل إلى المتصفح مطلقًا. فمتغيرات البيئة، مثل كلمات مرور قاعدة البيانات ومفاتيح API المستخدمة داخل إجراء من إجراءات الخادم، لا تُضمَّن مطلقًا في حزمة العميل، لأن جسم الدالة لا يُرسل إلى المتصفح أصلًا.

النماذج وإجراءات الخادم

تقبل عناصر نماذج HTML إجراءً من إجراءات الخادم مباشرةً عبر السمة action: <form action={myServerAction}>. ويتولى React اعتراض إرسال النموذج واستدعاء إجراء الخادم باستخدام بيانات النموذج، مما يتيح تعديل البيانات على الخادم من دون كتابة أي كود JavaScript على جانب العميل لمعالجة ذلك.

دورة الطلب والاستجابة

عند تشغيل إجراء من إجراءات الخادم، يضع React وسائط الإجراء في صورة متسلسلة داخل نص طلب POST. ثم يلغي الخادم تسلسلها، وينفذ الدالة، ويضع القيمة المعادة في صورة متسلسلة، ويرسلها مرة أخرى. ولا يمكن عبور الحد الفاصل إلا للقيم القابلة للتسلسل، مثل السلاسل النصية والأرقام والمصفوفات والكائنات البسيطة.

تعريف إجراء من إجراءات الخادم

يمكنكم تعريف إجراء من إجراءات الخادم على مستوى الوحدة في ملف يحتوي على 'use server' في أعلاه، أو تضمينه داخل مكوّن خادم بوضع 'use server' في أعلى الدالة غير المتزامنة. وينتج كلا الأسلوبين النتيجة نفسها: دالة قابلة للاستدعاء على الخادم فقط.

الاستدعاء من مكوّنات العميل

يستورد مكوّن العميل إجراءات الخادم ويستدعيها كما يستدعي الدوال غير المتزامنة العادية. وتكون صيغة الاستدعاء مطابقة تمامًا لاستدعاء دالة غير متزامنة محلية، لكن التنفيذ يحدث بالكامل على الخادم. ويحافظ هذا التجريد على نظافة مكوّنات العميل ويعفيها من التعليمات البرمجية المتكررة الخاصة بـ fetch.

سؤال حول نموذج الأمان

أيّ العبارات التالية تصف نموذج الأمان الخاص بإجراءات الخادم بأفضل شكل؟

مراجعة الدرس

إجراءات الخادم هي دوال غير متزامنة تعمل على الخادم وتُوسم بـ 'use server'. وتحتفظ بإمكانية الوصول إلى سياق الخادم، مثل اتصالات قاعدة البيانات وأسرار البيئة. ويتولى Next.js نقل HTTP تلقائيًا، بينما يجعلها React 19 ميزة مستقلة عن الإطار. ويمكن للنماذج استخدامها مباشرةً عبر السمة action، كما أن الأسرار الموجودة داخلها لا تصل إلى المتصفح مطلقًا.

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

هل درس «إجراءات الخادم في React 19 وNext.js» مجاني؟

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

ماذا ستتعلم في «إجراءات الخادم في React 19 وNext.js»؟

افهم كيفية تنفيذ Server Actions على الخادم، واحتفاظها بسياق الخادم، وإعادتها البيانات إلى العميل تتمرن على React Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

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

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

كم من الوقت يستغرق درس «إجراءات الخادم في React 19 وNext.js»؟

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

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

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

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

  1. إجراءات الخادم في React 19 وNext.js
  2. إجراءات النماذج: استبدال مسارات API بعمليات التعديل
  3. useActionState وuseFormStatus
  4. التحسين التدريجي باستخدام Server Actions
← العودة إلى React Academy