Che cos'è l'hydration
Comprendere come l'hydration riutilizza l'HTML del server
Che cos'è l'hydration è una lezione Angular 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 Angular Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Angular Academy include 4 lezioni in totale.
Definire l'idratazione
Hydration è il processo mediante il quale l'app Angular lato client riutilizza l'HTML renderizzato dal server, collegando listener degli eventi e stato al DOM esistente invece di eliminarlo e renderizzarlo nuovamente.
La vita senza idratazione
SSR legacy utilizzava un'idratazione distruttiva: il client eliminava il DOM del server e lo renderizzava nuovamente da zero. Questo causava uno sfarfallio visibile e vanificava il lavoro del server.
Idratazione non distruttiva
Angular moderno esegue un'idratazione non distruttiva: percorre il DOM esistente, lo associa all'albero dei componenti e riutilizza i nodi. Niente sfarfallii, meno lavoro e prestazioni migliori.
Perché migliora i Web Vitals
Riutilizzare l'HTML del server mantiene visualizzato il contenuto principale, contribuendo a migliorare LCP, ed evita gli spostamenti del layout dovuti al nuovo rendering, contribuendo a migliorare CLS. L'app diventa interattiva senza essere ridisegnata.
Il processo in due fasi
Fase uno: il server esegue il rendering dell'HTML e lo invia. Fase due: il browser scarica JavaScript, avvia Angular e idrata il markup esistente, rendendolo interattivo.
Corrispondenza della struttura DOM
L'idratazione presuppone che l'albero dei componenti del client produca la stessa struttura generata dal server. Se le strutture divergono, Angular segnala una mancata corrispondenza durante l'idratazione.
// NG0500: During hydration Angular expected <div> but found <span>Cause comuni delle mancate corrispondenze
La manipolazione diretta del DOM, i rami esclusivi del browser che modificano il markup, il nesting HTML non valido e i contenuti non deterministici (come Math.random() o Date.now() nei template) causano mancate corrispondenze.
Evitare modifiche manuali al DOM
Non manipoli il DOM in modo imperativo (ad esempio con innerHTML al di fuori di Angular) durante SSR. Lasci che sia Angular a gestire il DOM, così client e server rimarranno sincronizzati.
La via di fuga ngSkipHydration
Per un componente che non può realmente essere idratato, come un widget di terze parti che modifica il DOM, ne disabiliti l'idratazione con ngSkipHydration; Angular renderizzerà nuovamente soltanto quel sottoalbero.
<app-legacy-widget ngSkipHydration></app-legacy-widget>La hydration richiede SSR
La hydration si applica solo quando è presente HTML renderizzato dal server da riutilizzare. Un'applicazione CSR pura non ha nulla da sottoporre a hydration; la hydration è la parte client del modello SSR.
Cosa succede dopo
La hydration può essere completa (l'intera app viene sottoposta a hydration al caricamento) oppure incrementale (alcune parti vengono sottoposte a hydration su richiesta). Scegliere la strategia corretta è fondamentale per le prestazioni, come verrà illustrato nelle lezioni successive.
Verifica rapida
Verifichi la Sua comprensione della hydration.
Riepilogo
La hydration riutilizza in modo non distruttivo l'HTML del server sul client, migliorando LCP e CLS. Le discrepanze possono derivare da modifiche manuali al DOM o da markup non deterministico; usi ngSkipHydration come soluzione di ripiego. La hydration è la parte client di SSR.
Domande Frequenti
La lezione «Che cos'è l'hydration» è gratuita?
Sì — il testo completo di «Che cos'è l'hydration» è 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 Angular Academy, passa a CoddyKit PRO. Il corso Angular Academy include 4 lezioni in totale.
Cosa imparerò in «Che cos'è l'hydration»?
Comprendere come l'hydration riutilizza l'HTML del server Eserciti Angular 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 Angular Academy?
Non è richiesta alcuna esperienza precedente. Angular 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 «Che cos'è l'hydration»?
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 Angular Academy?
Sì. Ogni lezione Angular 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
- Che cos'è l'hydration
- Abilitare l'hydration completa
- Hydration incrementale con @defer
- Misurare i Core Web Vitals