Tööde väljalaadimine klientidelt serverisse on Nexti serveritoimingutega lihtne.

Next.js-i versiooniga 13.4 oli stabiilne rakenduse ruuter ja võimalus teha serveritoimingutega andmete mutatsioone. See funktsioon on absoluutne mängumuutja, kuna see võimaldab teil teha andmemutatsioone täielikult serverikomponentidest. See toob kaasa hulga eeliseid sellistes valdkondades nagu kiirus, turvalisus ja rakenduse üldine jõudlus.

Siit saate teada, mis on serveritoimingud ja kuidas seda uut funktsiooni rakenduses Next.js kasutada.

Mis on serveritoimingud?

Serveritoimingud võimaldavad teil kirjutada ühekordseid serveripoolseid funktsioone otse serverikomponentide kõrvale. See on tohutu, sest te ei pea enam API marsruute kirjutama vormide esitamisel või mis tahes muul andmemutatsioonil, sealhulgas GraphQL andmete mutatsioonid.

Teil võib olla funktsioone, mis töötavad teie serveris ja seejärel saate neile helistada kliendi või serveri komponentidest. See on rakenduse Next.js 13.4 alfa funktsioon ja see on üles ehitatud React Actionsile. Serveritoimingute kasutamine vähendab kliendipoolset JavaScripti ja võib aidata teil luua järk-järgult täiustatud vorme.

Serveri toimingute näide

Serveritoimingutega saate teha serveris Next.js-s mutatsioone. Vaadake seda uut funktsiooni koos Next.js-lehe näitega, mis renderdab vormi, mis võimaldab teil postitust luua.

Siin on imporditud tooted:

importida Link alates"järgmine/link"
importida FormGroup alates"@/components/FormGroup"
importida { revalidateTag } alates"järgmine/vahemälu"
importida { suunata } alates"järgmine/navigeerimine"

Nüüd postituse loomise kood. See funktsioon on serveritoiming; see töötab serveris ja saadab postituse pealkirja ja keha API-le (mis loob postituse andmebaasi):

asünkrfunktsioonilooPosti(andmeid) {
"kasuta serverit"
konst title = data.get("tiitel")
konst body = data.get("keha")

ootama tõmba(" http://127.0.0.1/posts", {
päis: {"Sisu tüüp": "rakendus/json"},
meetod: POST,
keha: JSON.stringify({title, body})
})

revalidateTag("postitused")
redirect("/")
}

See funktsioon saab postituse pealkirja ja keha, mille see seejärel saadab /posts lõpp-punkt POST-päringu kaudu. Seejärel sunnib see vahemälu värskendama märgendiga "postitused" seotud sisu ja suunab tagasi avalehele.

Siin on vorm uue postituse pealkirja ja sisu kogumiseks:

eksportidavaikimisi NewPostForm() {
tagasi (