React 19 è nel mondo da qualche mese ormai. La polvere si è posata abbastanza da dare una valutazione onesta di cosa conta e cosa è per lo più rumore.
Il React Compiler
Il cambiamento più grande non è una nuova API. È il compiler, ora stabile, che memoizza automaticamente i tuoi componenti senza che tu debba spargere useMemo e useCallback ovunque.
Nei benchmark su applicazioni reali, il compiler produce componenti che sono il 15-40% più veloci senza alcuna ottimizzazione manuale. Ancora più importante, elimina un’intera classe di bug causati da dependency array errati.
// Prima: memoizzazione manuale, facile sbagliare
const expensiveValue = useMemo(() => compute(a, b), [a, b])
// Dopo: il compiler se ne occupa
const expensiveValue = compute(a, b) // ottimizzato automaticamente
I Server Component sono la nuova normalità
I Server Component — componenti che renderizzano sul server, inviano zero JavaScript al client e possono accedere direttamente a database e filesystem — non sono più un esperimento di Next.js. Fanno parte del core di React.
Il cambio di modello mentale è reale ma ne vale la pena. Una volta interiorizzato “questo componente non gira mai sul client,” un’ampia gamma di architetture diventa più semplice.
Le Actions sostituiscono le librerie per i form
Le React Actions — funzioni async che si passano direttamente agli elementi form — gestiscono stati di caricamento, errori e aggiornamenti ottimistici nativamente. In pratica, ciò significa che la maggior parte dei form non ha più bisogno di react-hook-form o di un layer separato di gestione dello stato.
Dovresti aggiornare?
Se stai iniziando un nuovo progetto: sì, immediatamente. Se stai mantenendo un’app esistente: le breaking change sono minime, e i guadagni di performance dal solo compiler giustificano il costo della migrazione.
React non perderà il suo dominio tanto presto.