Server Actions i React 19 og Next.js
Forstå, hvordan Server Actions udføres på serveren, lukker over serverkontekst og returnerer data til klienten.
Server Actions i React 19 og Next.js er en gratis React Academy-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i React Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. React Academy-kurset indeholder 4 lektioner i alt.
Hvad er Server Actions
Server Actions er asynkrone funktioner, der udføres på serveren og ikke i browseren. De markeres med direktivet 'use server', som placeres øverst i filen eller øverst i funktionens brødtekst. Det fortæller rammeværket, at funktionen aldrig må køre på klientsiden.
Adgang til serverkontekst
Da Server Actions kører på serveren, har de adgang til hele serverkonteksten: databaseforbindelser, miljøhemmeligheder, sessionsdata og filsystemressourcer. Det er grundlæggende anderledes end klientkomponenter, som kun kan få adgang til det, browseren eksponerer.
HTTP-transporten bag kulisserne
Når en klientkomponent kalder en Server Action, opretter Next.js automatisk en HTTP POST-anmodning til et særligt RSC-slutpunkt. Rammeværket håndterer al serialisering af argumenter og transportlaget, så du aldrig selv skal skrive fetch()-kald til disse ændringer.
Ingen API-rute nødvendig
Server Actions erstatter behovet for API-ruter i mange scenarier, hvor data skal ændres. Handlingen selv er slutpunktet — du definerer logikken én gang som en serverfunktion og kalder den direkte fra klientkomponenten, som om den var en lokal funktion.
Førsteklasses funktion i React 19
Server Actions var oprindeligt et Next.js-specifikt koncept, men React 19 løfter dem til en førsteklasses React-funktion. Det betyder, at bundlere og andre rammeværker end Next.js kan implementere det samme mønster i overensstemmelse med React-specifikationen.
Stabilitet og tilgængelighed
Server Actions er eksperimentelle i React 19 RC, men har været stabile i Next.js 14+ App Router siden deres introduktion. Hvis du bygger en produktionsapplikation med Next.js App Router i dag, er Server Actions et fuldt understøttet og anbefalet mønster.
Sikkerhed: Hemmeligheder forbliver på serveren
En af de vigtigste sikkerhedsegenskaber ved Server Actions er, at hemmeligheder aldrig når browseren. Miljøvariabler som databaseadgangskoder og API-nøgler, der bruges i en Server Action, inkluderes aldrig i klientbundtet, fordi funktionskroppen aldrig sendes til browseren.
Formularer og Server Actions
HTML-formularelementer accepterer en Server Action direkte via action-attributten: <form action={myServerAction}>. React opfanger formularafsendelsen og kalder Server Action med formulardataene, så du kan ændre data på serversiden uden ekstra JavaScript-kode på klientsiden.
Anmodnings- og svarcyklus
Når en Server Action udløses, serialiserer React argumenterne til indholdet af en POST-anmodning. Serveren deserialiserer dem, udfører funktionen, serialiserer returværdien og sender den tilbage. Kun serialiserbare værdier (strenge, tal, arrays, simple objekter) kan krydse grænsen.
Definition af en Server Action
Du kan definere en Server Action på modulniveau i en fil med 'use server' øverst eller skrive den direkte i en Server Component ved at placere 'use server' øverst i den asynkrone funktion. Begge metoder giver det samme resultat: en kaldbar funktion, der kun kan køre på serveren.
Kald fra klientkomponenter
Klientkomponenter importerer og kalder Server Actions ligesom almindelige asynkrone funktioner. Kaldsyntaksen er identisk med et kald til en lokal asynkron funktion, men udførelsen sker udelukkende på serveren. Denne abstraktion holder klientkomponenterne enkle og fri for gentagen fetch-standardkode.
Spørgsmål om sikkerhedsmodellen
Hvilken af følgende beskriver bedst sikkerhedsmodellen for Server Actions?
Opsummering af lektionen
Server Actions er asynkrone funktioner på serversiden, der er markeret med 'use server'. De har adgang til serverkontekst som databaseforbindelser og miljøhemmeligheder. Next.js håndterer HTTP-transporten automatisk, og React 19 gør dem til en rammeværksuafhængig funktion. Formularer kan bruge dem direkte via attributten action, og hemmeligheder i dem når aldrig browseren.
Lær React med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 88
- Lektioner
- 324
Ofte stillede spørgsmål
Er lektionen “Server Actions i React 19 og Next.js” gratis?
Ja — hele teksten til “Server Actions i React 19 og Next.js” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af React Academy-kurset, skal du opgradere til CoddyKit PRO. React Academy-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Server Actions i React 19 og Next.js”?
Forstå, hvordan Server Actions udføres på serveren, lukker over serverkontekst og returnerer data til klienten. Du øver dig i React Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på React Academy?
Der kræves ingen tidligere erfaring. React Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.
Hvor lang tid tager lektionen “Server Actions i React 19 og Next.js”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne React Academy-lektion?
Ja. Alle React Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Server Actions i React 19 og Next.js
- Form Actions: Erstatning af API-ruter til mutationer
- useActionState og useFormStatus
- Progressiv forbedring med Server Actions