Palvelintoiminnot React 19:ssä ja Next.js:ssä
Ymmärrä, miten Server Actions suoritetaan palvelimella, miten ne sulkevat sisäänsä palvelinkontekstin ja palauttavat dataa asiakkaalle.
Palvelintoiminnot React 19:ssä ja Next.js:ssä on ilmainen React Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu React Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. React Academy-kurssilla on yhteensä 4 oppituntia.
Mitä Server Actions ovat
Server Actions ovat async-funktioita, jotka suoritetaan palvelimella, eivät selaimessa. Ne merkitään tiedoston alkuun tai funktion rungon alkuun sijoitettavalla 'use server'-direktiivillä. Direktiivi kertoo kehykselle, ettei funktiota saa koskaan suorittaa asiakaspuolella.
Pääsy palvelinkontekstiin
Koska Server Actions suoritetaan palvelimella, niillä on pääsy koko palvelinkontekstiin: tietokantayhteyksiin, ympäristön salaisuuksiin, istuntotietoihin ja tiedostojärjestelmäresursseihin. Tämä eroaa olennaisesti asiakaskomponenteista, jotka voivat käyttää vain sitä, minkä selain tarjoaa.
HTTP-siirto taustalla
Kun asiakaskomponentti kutsuu Server Actionia, Next.js tekee automaattisesti HTTP POST -pyynnön erityiseen RSC-päätepisteeseen. Kehys hoitaa argumenttien serialisoinnin ja siirtokerroksen, joten näitä muutoksia varten ei tarvitse kirjoittaa fetch()-kutsuja käsin.
API-reittiä ei tarvita
Server Actions poistavat monissa tietoja muuttavissa tilanteissa API-reittien tarpeen. Itse action toimii päätepisteenä — määrittelette logiikan kerran palvelinfunktiona ja kutsutte sitä suoraan asiakaskomponentista ikään kuin se olisi paikallinen funktio.
React 19:n ensiluokkainen ominaisuus
Server Actions oli alun perin Next.js-kohtainen käsite, mutta React 19 nostaa ne Reactin ensiluokkaiseksi ominaisuudeksi. Tämä tarkoittaa, että myös muut bundlerit ja viitekehykset kuin Next.js voivat toteuttaa saman mallin React-määrittelyä noudattaen.
Vakaus ja saatavuus
Server Actions ovat kokeellisia React 19 RC:ssä, mutta ne ovat olleet vakaita Next.js 14+:n App Routerissa niiden käyttöönotosta lähtien. Jos rakennatte tuotantosovellusta tänä päivänä Next.js:n App Routerilla, Server Actions on täysin tuettu ja suositeltu toimintamalli.
Tietoturva: salaisuudet pysyvät palvelimella
Yksi Server Actionsin tärkeimmistä tietoturvaominaisuuksista on, etteivät salaisuudet koskaan päädy selaimeen. Server Actionin sisällä käytettäviä ympäristömuuttujia, kuten tietokantojen salasanoja ja API-avaimia, ei koskaan sisällytetä asiakaspuolen bundleen, koska funktion runkoa ei koskaan lähetetä selaimeen.
Lomakkeet ja Server Actions
HTML-lomake-elementit voivat ottaa Server Actionin suoraan vastaan action-attribuutilla: <form action={myServerAction}>. React sieppaa lomakkeen lähetyksen ja kutsuu Server Actionia lomaketietojen kanssa, mikä mahdollistaa palvelinpuolen muutokset ilman asiakaspuolen JavaScript-kytkentää.
Pyynnön ja vastauksen elinkaari
Kun Server Action käynnistetään, React serialisoi actionin argumentit POST-pyynnön rungoksi. Palvelin deserialisoi ne, suorittaa funktion, serialisoi palautusarvon ja lähettää sen takaisin. Vain serialisoitavat arvot (merkkijonot, numerot, taulukot ja tavalliset objektit) voivat ylittää rajan.
Server Actionin määrittäminen
Voitte määrittää Server Actionin moduulitasolla tiedostossa, jonka alussa on 'use server', tai upottaa sen Server Componentin sisään lisäämällä 'use server' async-funktion alkuun. Molemmat tavat tuottavat saman lopputuloksen: vain palvelimella kutsuttavissa olevan funktion.
Kutsuminen asiakaskomponenteista
Asiakaskomponentit tuovat Server Actionit käyttöön ja kutsuvat niitä kuten tavallisia async-funktioita. Kutsusyntaksi on sama kuin paikallista async-funktiota kutsuttaessa, mutta suoritus tapahtuu kokonaan palvelimella. Tämä abstraktio pitää asiakaskomponentit selkeinä ja vapaina fetch-kutsujen vaatimalta oheiskoodilta.
Tietoturvamallia koskeva kysymys
Mikä seuraavista kuvaa parhaiten Server Actionsin tietoturvamallia?
Oppitunnin kertaus
Server Actions ovat async-palvelinpuolen funktioita, jotka merkitään 'use server'-direktiivillä. Ne voivat käyttää palvelinkontekstia, kuten tietokantayhteyksiä ja ympäristön salaisuuksia. Next.js hoitaa HTTP-siirron automaattisesti, ja React 19 tekee niistä viitekehyksestä riippumattoman ominaisuuden. Lomakkeet voivat käyttää niitä suoraan action-attribuutin kautta, eivätkä niiden sisältämät salaisuudet koskaan päädy selaimeen.
Opi React tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 88
- Oppitunnit
- 324
Usein kysytyt kysymykset
Onko oppitunti ”Palvelintoiminnot React 19:ssä ja Next.js:ssä” ilmainen?
Kyllä – oppitunnin ”Palvelintoiminnot React 19:ssä ja Next.js:ssä” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko React Academy-kurssin, päivitä CoddyKit PROhon. React Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Palvelintoiminnot React 19:ssä ja Next.js:ssä”?
Ymmärrä, miten Server Actions suoritetaan palvelimella, miten ne sulkevat sisäänsä palvelinkontekstin ja palauttavat dataa asiakkaalle. Harjoittelet React Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni React Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin React Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.
Kuinka kauan ”Palvelintoiminnot React 19:ssä ja Next.js:ssä”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä React Academy-oppitunnilla?
Kyllä. Jokainen React Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Palvelintoiminnot React 19:ssä ja Next.js:ssä
- Lomaketoiminnot: API-reittien korvaaminen mutaatioissa
- useActionState ja useFormStatus
- Progressiivinen parantaminen Server Actions -toiminnoilla