Darbu pārsūtīšana no klientiem uz jūsu serveri ir vienkārša, izmantojot Next servera darbības.

Next.js 13.4 laidienā bija stabils lietotņu maršrutētājs un iespēja veikt datu mutāciju ar servera darbībām. Šī funkcija ir absolūts spēļu mainītājs, jo tas ļauj veikt datu mutācijas pilnībā no servera komponentiem. Tas sniedz daudzas priekšrocības tādās jomās kā ātrums, drošība un lietotnes vispārējā veiktspēja.

Uzziniet, kas ir servera darbības un kā izmantot šo jauno līdzekli lietojumprogrammā Next.js.

Kas ir servera darbības?

Servera darbības ļauj rakstīt vienreizējas servera puses funkcijas tieši blakus servera komponentiem. Tas ir milzīgi, jo jums vairs nav jāraksta API maršruti, iesniedzot veidlapas vai veicot jebkādas citas datu mutācijas, tostarp GraphQL datu mutācijas.

Jums var būt funkcijas, kas darbojas jūsu serverī, un pēc tam varat tās izsaukt no klienta vai servera komponentiem. Šī ir alfa funkcija programmā Next.js 13.4, un tā ir veidota, pamatojoties uz React Actions. Servera darbību izmantošana samazina klienta puses JavaScript un var palīdzēt izveidot pakāpeniski uzlabotas veidlapas.

Servera darbību piemērs

Izmantojot servera darbības, serverī varat veikt mutācijas iekšā Next.js. Apskatiet šo jauno līdzekli ar Next.js lapas piemēru, kas atveido veidlapu, kas ļauj izveidot ziņu.

Šeit ir importētie produkti:

imports Saite no"nākamais/saite"
imports FormGroup no"@/components/FormGroup"
imports { revalidateTag } no"nākamais/kešatmiņa"
imports { novirzīt } no"nākamais/navigācija"

Tagad kods, lai izveidotu ziņu. Šī funkcija ir servera darbība; tas darbojas serverī un nosūta ziņas virsrakstu un pamattekstu API (kas izveido ziņu datu bāzē):

asinhronsfunkcijuCreatePost(datus) {
"izmantot serveri"
konst virsraksts = data.get("nosaukums")
konst body = data.get("ķermenis")

gaidīt atnest(" http://127.0.0.1/posts", {
galvene: {"Satura veids": "aplikācija/json"},
metode: POST,
korpuss: JSON.stringify({title, body})
})

revalidateTag("ziņas")
redirect ("/")
}

Šī funkcija iegūst ziņas nosaukumu un pamattekstu, ko tā pēc tam nosūta uz /posts galapunkts, izmantojot POST pieprasījumu. Pēc tam tas liek kešatmiņai atsvaidzināt saturu, kas saistīts ar tagu "posts", un novirza atpakaļ uz sākumlapu.

Šeit ir veidlapa, lai apkopotu jauno ziņas nosaukumu un pamattekstu:

eksportētnoklusējuma NewPostForm() {
atgriezties (