0Pricing
Angular Academy · Lezione

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

  1. Che cos'è l'hydration
  2. Abilitare l'hydration completa
  3. Hydration incrementale con @defer
  4. Misurare i Core Web Vitals
← Torna a Angular Academy