CSR blank vs SSR
React chapter 103 · Web Perf · ch.4–6 · source: Nadia Makarevich, Web Performance Fundamentals, Chapters 4–6 (CSR / SSR / hydration)
The problem
A client-only app downloads JS, parses it, then paints. Until then the user sees a blank shell. LCP waits on that pipeline. SSR HTML can make LCP worse if it is huge and still waits on hydration to be usable.
The pattern that fixes it
Send meaningful HTML first (SSR/SSG). Hydrate to attach listeners. Keep the first payload small; stream the rest. Hydration mismatch (server text ≠ client text) throws away that work — render the same tree (33).
Keep learning
- Previous: Yield to main
- Next: React Compiler
- Related: lazy + preload
- Related: Request waterfalls
- Related: Yield to main
- Related: React Compiler
- Related: Where LCP time goes
- Related: CLS: reserve the space
More courses
- Jobs, linked to lessons — Browse jobs where every requirement links to the chapter that teaches it. See how ready you are, how long the gap takes to close, and which listings look stale.
- Match a job post to courses — Paste a job post. Each skill is matched to a track here and put in learning order, foundations first.
- Database in depth — How a query becomes work. Indexes, isolation, locks, and the plans that explain why a page is slow — not an ORM tour.
- System Design — Eight interview case studies, from a flash sale and Tatkal to a live final and a chat model, plus JWT in separate chapters.
- Microservices — Microservice patterns one diagram at a time: how to split a monolith, how services talk, and how data stays consistent without distributed transactions.
- Kafka — A beginner-to-senior path through event logs, reliable delivery, production operations, and disaster recovery.
- Frontend system design — How a UI is sliced when it is a product, not a page: ownership of state, cache, routes, and what happens when the network lies.
- CSS in depth — See the box, then the page. Visual chapters from the box model through Flexbox surprises, Grid, selectors, and units, then backgrounds, shapes, and visual effects, each with a playground.
- Accessibility — HTML labs first, then a full pass of WAI-ARIA 1.3: naming, every state, widget and structure roles, live regions, ariaNotify, and relationships.
- Docker — What an image is, why layers cache, and how containers find each other on a network.
- Redis — Fifteen Redis patterns, one picture each: cache, session, lock, counter, rate limiter, queue, and when Redis is the wrong tool.