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.
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 (