React Academy · Lezione

Server Actions in React 19 e Next.js

Comprenda come le Server Actions vengono eseguite sul server, acquisiscono il contesto del server e restituiscono dati al client.

Lezione 1 di 413 passaggi

Server Actions in React 19 e Next.js è una lezione React Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento React Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso React Academy include 4 lezioni in totale.

Che cosa sono le Server Actions

Le Server Actions sono funzioni asincrone che vengono eseguite sul server, non nel browser. Sono contrassegnate dalla direttiva 'use server', posizionata all'inizio del file o del corpo della funzione, per indicare al framework che questa funzione non deve mai essere eseguita lato client.

Accesso al contesto del server

Poiché le Server Actions vengono eseguite sul server, hanno accesso all'intero contesto del server: connessioni al database, segreti dell'ambiente, dati della sessione e risorse del file system. Questo è fondamentalmente diverso dai componenti client, che possono accedere solo a ciò che il browser espone.

Il trasporto HTTP in dettaglio

Quando un componente client chiama una Server Action, Next.js effettua automaticamente una richiesta HTTP POST a uno speciale endpoint RSC. Il framework gestisce tutta la serializzazione degli argomenti e il livello di trasporto, quindi non è mai necessario scrivere manualmente chiamate fetch() per queste mutazioni.

Nessuna route API necessaria

Le Server Actions eliminano la necessità di usare le route API in molti scenari di mutazione. L'action stessa è l'endpoint: si definisce la logica una sola volta come funzione server e la si chiama direttamente dal componente client come se fosse una funzione locale.

Funzionalità di prima classe di React 19

Le Server Actions erano inizialmente un concetto specifico di Next.js, ma React 19 le eleva a funzionalità di prima classe di React. Questo significa che bundler e framework diversi da Next.js possono implementare lo stesso pattern seguendo la specifica di React.

Stabilità e disponibilità

Le Server Actions sono sperimentali nella RC di React 19, ma sono stabili nell'App Router di Next.js 14 e versioni successive fin dalla loro introduzione. Se oggi si sta sviluppando un'applicazione in produzione con l'App Router di Next.js, le Server Actions sono un pattern pienamente supportato e consigliato.

Sicurezza: i segreti restano sul server

Una delle proprietà di sicurezza più importanti delle Server Actions è che i segreti non raggiungono mai il browser. Le variabili d'ambiente, come le password del database e le chiavi API utilizzate all'interno di una Server Action, non vengono mai incluse nel bundle client, perché il corpo della funzione non viene mai inviato al browser.

Moduli e Server Actions

Gli elementi modulo HTML accettano direttamente una Server Action tramite l'attributo action: <form action={myServerAction}>. React intercetta l'invio del modulo e chiama la Server Action con i dati del modulo, consentendo di eseguire mutazioni lato server senza dover predisporre codice JavaScript lato client.

Ciclo richiesta-risposta

Quando viene attivata una Server Action, React serializza gli argomenti dell'action nel corpo di una richiesta POST. Il server li deserializza, esegue la funzione, serializza il valore restituito e lo invia al client. Attraverso questo confine possono passare solo valori serializzabili, come stringhe, numeri, array e oggetti semplici.

Definizione di una Server Action

È possibile definire una Server Action a livello di modulo, in un file che contiene 'use server' all'inizio, oppure inline all'interno di un Server Component, inserendo 'use server' all'inizio della funzione asincrona. Entrambi gli approcci producono lo stesso risultato: una funzione chiamabile esclusivamente sul server.

Chiamata dai componenti client

I componenti client importano e chiamano le Server Actions proprio come normali funzioni asincrone. La sintassi della chiamata è identica a quella di una chiamata a una funzione asincrona locale, ma l'esecuzione avviene interamente sul server. Questa astrazione mantiene i componenti client semplici e privi del codice ripetitivo necessario per le chiamate fetch.

Domanda sul modello di sicurezza

Quale delle seguenti descrive meglio il modello di sicurezza delle Server Actions?

Riepilogo della lezione

Le Server Actions sono funzioni asincrone lato server contrassegnate con 'use server'. Mantengono il contesto del server, incluse le connessioni al database e i segreti dell'ambiente. Next.js gestisce automaticamente il trasporto HTTP e React 19 le rende una funzionalità indipendente dal framework. I moduli possono utilizzarle direttamente tramite l'attributo action e i segreti al loro interno non raggiungono mai il browser.

Gratis per iniziare

Impara React con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
88
Lezioni
324

Domande Frequenti

La lezione «Server Actions in React 19 e Next.js» è gratuita?

Sì — il testo completo di «Server Actions in React 19 e Next.js» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso React Academy, passa a CoddyKit PRO. Il corso React Academy include 4 lezioni in totale.

Cosa imparerò in «Server Actions in React 19 e Next.js»?

Comprenda come le Server Actions vengono eseguite sul server, acquisiscono il contesto del server e restituiscono dati al client. Eserciti React Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare React Academy?

Non è richiesta alcuna esperienza precedente. React Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Server Actions in React 19 e Next.js»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione React Academy?

Sì. Ogni lezione React Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Server Actions in React 19 e Next.js
  2. Form Actions: sostituire le API Routes per le mutazioni
  3. useActionState e useFormStatus
  4. Progressive Enhancement con le Server Actions
← Torna a React Academy