הורדת עבודה מלקוחות לשרת שלך קלה עם פעולות השרת של Next.
מהדורת 13.4 של Next.js הגיעה עם נתב אפליקציה יציב ויכולת לבצע מוטציות בנתונים עם פעולות שרת. תכונה זו היא מחליף משחק מוחלט מכיוון שהיא מאפשרת לך לבצע מוטציות נתונים לחלוטין מרכיבי שרת. זה מביא לשורה של יתרונות בתחומים כמו מהירות, אבטחה וביצועים כלליים של האפליקציה.
למד מה הן פעולות שרת וכיצד להשתמש בתכונה החדשה הזו ביישום Next.js שלך.
מהן פעולות שרת?
פעולות שרת מאפשרות לך לכתוב פונקציות חד פעמיות בצד השרת לצד רכיבי השרת שלך. זה עצום כי אינך צריך עוד לכתוב מסלולי API בעת שליחת טפסים או ביצוע כל סוג אחר של מוטציה בנתונים, כולל מוטציות בנתוני GraphQL.
יכולות להיות לך פונקציות הפועלות בשרת שלך, ואז תוכל לקרוא להן מרכיבי לקוח או שרת. זוהי תכונת אלפא ב-Next.js 13.4, והיא בנויה על גבי React Actions. שימוש בפעולות שרת מוביל לצמצום JavaScript בצד הלקוח, ויכול לעזור לך ליצור טפסים משופרים בהדרגה.
דוגמה לפעולות שרת
עם פעולות שרת, אתה יכול לבצע מוטציות בתוך Next.js, בשרת. תסתכל על תכונה חדשה זו עם דף Next.js לדוגמה שמציג טופס המאפשר לך ליצור פוסט.
להלן היבוא:
יְבוּא קישור מ"הבא/קישור"
יְבוּא FormGroup מ"@/components/FormGroup"
יְבוּא { revalidateTag } מ"הבא/מטמון"
יְבוּא { הפניה מחדש } מ"הבא/ניווט"
עכשיו לקוד ליצירת הפוסט. פונקציה זו היא פעולת שרת; הוא פועל על השרת ושולח את כותרת הפוסט וגוף ה-API (שיוצר את הפוסט במסד הנתונים):
אסינכרוןפוּנקצִיָהcreatePost(נתונים) {
"השתמש בשרת"
const title = data.get("כותרת")
const body = data.get("גוּף")לְהַמתִין לְהָבִיא(" http://127.0.0.1/posts", {
כותרת: {"סוג תוכן": "application/json"},
שיטה: POST,
גוּף: JSON.stringify({title, body})
})
revalidateTag("פוסטים")
הפניה מחדש("/")
}
פונקציה זו מקבלת את הכותרת והגוף של הפוסט שאותם היא שולחת אל /posts נקודת קצה באמצעות בקשת POST. לאחר מכן הוא מאלץ את המטמון לרענן תוכן המשויך לתג "פוסטים", ומפנה חזרה לדף הבית.
להלן טופס לאיסוף כותרת וגוף הפוסט החדשים:
יְצוּאבְּרִירַת מֶחדָל NewPostForm() {
לַחֲזוֹר (