يعد تفريغ العمل من العملاء إلى الخادم الخاص بك أمرًا سهلاً باستخدام إجراءات خادم Next.

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

تعرف على إجراءات الخادم وكيفية استخدام هذه الميزة الجديدة في تطبيق Next.js.

ما هي إجراءات الخادم؟

تسمح لك إجراءات الخادم بكتابة وظائف من جانب الخادم لمرة واحدة جنبًا إلى جنب مع مكونات الخادم. هذا ضخم لأنك لم تعد بحاجة إلى كتابة مسارات API عند إرسال النماذج أو القيام بأي نوع آخر من تغيير البيانات ، بما في ذلك طفرات بيانات GraphQL.

يمكن أن يكون لديك وظائف تعمل على الخادم الخاص بك ، ويمكنك بعد ذلك الاتصال بها من مكونات العميل أو الخادم. هذه ميزة ألفا في Next.js 13.4 ، وهي مبنية على قمة إجراءات React. يؤدي استخدام إجراءات الخادم إلى تقليل JavaScript من جانب العميل ، ويمكن أن يساعدك في إنشاء نماذج محسّنة بشكل تدريجي.

مثال إجراءات الخادم

instagram viewer

باستخدام إجراءات الخادم ، يمكنك إجراء طفرات داخل Next.js على الخادم. ألق نظرة على هذه الميزة الجديدة مع مثال على صفحة Next.js التي تعرض نموذجًا يسمح لك بإنشاء منشور.

فيما يلي الواردات:

يستورد وصلة من"التالي / الرابط"
يستورد يشكل مجموعه من"@ / المكونات / FormGroup"
يستورد {revalidateTag} من"التالي / ذاكرة التخزين المؤقت"
يستورد { إعادة توجيه } من"التالي / التنقل"

الآن للحصول على الكود لإنشاء المنشور. هذه الوظيفة هي عمل الخادم ؛ يتم تشغيله على الخادم ويرسل عنوان المنشور والجسم إلى واجهة برمجة التطبيقات (التي تنشئ المنشور في قاعدة البيانات):

غير متزامنوظيفةإنشاء(بيانات) {
"استخدام الخادم"
مقدار ثابت العنوان = data.get ("عنوان")
مقدار ثابت body = data.get ("جسم")

انتظر أحضر(" http://127.0.0.1/posts", {
العنوان: {"نوع المحتوى": "التطبيق / json"},
الطريقة: POST ،
جسم: جسون.stringify ({title، body})
})

إعادة التحقق من العلامة ("دعامات")
إعادة توجيه("/")
}

تحصل هذه الوظيفة على عنوان المنشور والجسم الذي يتم إرساله بعد ذلك إلى ملف /posts نقطة النهاية عبر طلب POST. ثم يفرض على ذاكرة التخزين المؤقت تحديث المحتوى المرتبط بعلامة "المشاركات" ، وإعادة التوجيه إلى الصفحة الرئيسية.

إليك نموذج لتجميع عنوان المنشور الجديد ونصه:

يصدّرتقصير NewPostForm () {
يعود (