Without hydration, users have to wait for data to load before seeing any content. This creates a poor user experience with blank screens during data fetching.
@Component({
template:
<div *ngIf="cards">
@for (card of cards; track card.id) {
<div class="card">...</div>
}
</div>
})
export class Component {
cards: Card[] | null = null;
constructor() {
// Wait for data before showing anything
this.loadData();
}
}
Refresh the page and notice how there's a 3-second blank screen before any content appears.
Content only visible after data loads
Content only visible after data loads
Content only visible after data loads
Content only visible after data loads
Content only visible after data loads
Content only visible after data loads
Content only visible after data loads
Content only visible after data loads
Content only visible after data loads
Content only visible after data loads
Content only visible after data loads
Content only visible after data loads
Content only visible after data loads
Content only visible after data loads
Content only visible after data loads
Content only visible after data loads
Content only visible after data loads
Content only visible after data loads
Content only visible after data loads
Content only visible after data loads