← Tutti gli articoli

React 19 in produzione: i primi due mesi, le tre cose che ci sono piaciute

08 January 20252 min di lettura

Stable a dicembre 2024, in produzione a gennaio. useActionState, form actions native, useOptimistic: cosa cambia davvero.

React 19 è andato stable il 5 dicembre 2024. A inizio 2025, dopo averlo provato in produzione su due app, possiamo dire cosa abbiamo davvero usato.

1. useActionState

L'ex useFormState è la singola feature che ha cambiato il nostro modo di scrivere form. Niente più reducer manuali, niente più useState annidati per loading/error. Il form ha pending, error, e valore di ritorno gratis. Per un'app con 40 form, l'effetto cumulativo è enorme.

2. Form actions native

Il tag <form action={fn}> ora accetta direttamente una funzione (Server Action o normale function client). Combinato con Next.js è una sintesi pulita di tutto quello che prima era spaghetti.

3. useOptimistic

Per le mutation che toccano liste visibili (toggle preferiti, aggiungi commento, sposta to-do) useOptimistic ha sostituito 30 righe di codice manuale per ognuna. La UI sembra più veloce, e il rollback in caso di errore è gestito.

Cosa abbiamo lasciato

  • use() hook: utile in casi specifici (Suspense + dati passati come Promise), ma ancora non parte del nostro flusso quotidiano.
  • Document metadata in JSX: meno utile in app Next.js perché abbiamo già generateMetadata.
  • Asset preloading API: sperimentato, ma per ora preferiamo <link> espliciti.

Migration

Da 18 a 19 zero rotture significative sui nostri progetti, salvo un paio di ref-typing da aggiornare. Il React Compiler in beta — opt-in via plugin Babel — ha eliminato 80% dei nostri useMemo/useCallback manuali. Lo abbiamo attivato sui progetti nuovi, lasciato spento sui vecchi.