Prenos dela s strank na vaš strežnik je preprost s strežniškimi dejanji Next.

Izdaja Next.js 13.4 je prišla s stabilnim usmerjevalnikom aplikacij in možnostjo mutacije podatkov z dejanji strežnika. Ta funkcija je absolutna sprememba igre, saj vam omogoča izvajanje mutacij podatkov v celoti iz komponent strežnika. To prinaša številne prednosti na področjih, kot so hitrost, varnost in splošna zmogljivost aplikacije.

Naučite se, kaj so dejanja strežnika in kako uporabljati to novo funkcijo v aplikaciji Next.js.

Kaj so dejanja strežnika?

Strežniška dejanja vam omogočajo pisanje enkratnih strežniških funkcij tik ob strežniških komponentah. To je ogromno, ker vam ni več treba pisati poti API-ja, ko pošiljate obrazce ali izvajate katero koli drugo vrsto mutacije podatkov, vključno z Mutacije podatkov GraphQL.

Imate lahko funkcije, ki se izvajajo na vašem strežniku, nato pa jih lahko pokličete iz komponent odjemalca ali strežnika. To je alfa funkcija v Next.js 13.4 in je zgrajena na podlagi React Actions. Uporaba strežniških dejanj zmanjša JavaScript na strani odjemalca in vam lahko pomaga pri ustvarjanju postopno izboljšanih obrazcev.

instagram viewer

Primer dejanj strežnika

Z dejanji strežnika lahko izvedete mutacije znotraj Next.js na strežniku. Oglejte si to novo funkcijo s primerom strani Next.js, ki upodobi obrazec, ki vam omogoča ustvarjanje objave.

Tukaj je uvoz:

uvoz Povezava od"naprej/povezava"
uvoz FormGroup od"@/components/FormGroup"
uvoz {revalidateTag} od"naprej/predpomnilnik"
uvoz { preusmeritev } od"naprej/navigacija"

Zdaj pa kodo za ustvarjanje objave. Ta funkcija je dejanje strežnika; deluje na strežniku in pošlje naslov in telo objave API-ju (ki ustvari objavo v bazi podatkov):

asinhfunkcijocreatePost(podatke) {
"uporabi strežnik"
konst title = data.get("naslov")
konst body = data.get("telo")

čakati prinesi (" http://127.0.0.1/posts", {
glava: {"Vrsta vsebine": "aplikacija/json"},
metoda: POST,
telo: JSON.stringify({naslov, telo})
})

revalidateTag("objave")
preusmeritev("/")
}

Ta funkcija pridobi naslov in telo objave, ki ju nato pošlje v /posts končno točko prek zahteve POST. Nato prisili predpomnilnik, da osveži vsebino, povezano z oznako »objave«, in preusmeri nazaj na domačo stran.

Tukaj je obrazec za zbiranje naslova in telesa nove objave:

izvozprivzeto NewPostForm() {
vrnitev (