Frontend Mastery

Data Fetching Patterns: Streaming and Suspense

1 Views Updated 5/4/2026

Streaming & Suspense

Why wait for the whole page to be ready? With Streaming, the server "Streams" the UI chunks to the browser as soon as they are ready. Suspense allows you to show a loading skeleton for specific parts of the page without blocking others.

1. How Streaming works

The server sends the static HTML (Navbar, Layout) immediately. It keeps the HTTP connection open. When the "Comments" data finally arrives from the DB, the server sends that chunk of HTML, and the browser "PoPs" it into the correct place. This provides the best perceived performance.

2. Suspense Boundaries

Wrap your slow components in <Suspense>. React handles the rest.

}>
    

4. Interview Mastery

Q: "What is 'Partial Prerendering' (PPR)?"

Architect Answer: "PPR is a bleeding-edge feature that combines the best of SSG and Streaming. It allows Next.js to pre-render the 'Static' parts of a page at build time but keep 'Dynamic' holes (Suspense boundaries) that are filled in at runtime. It is the ultimate optimization, providing instant 0ms loads for layout with streaming for content."

Frontend Mastery
1. Core Foundation & Modern JS
ES6+ for Architects: Closures, Generators, and Symbols Asynchronous JS: Event Loop, Microtasks, and Promises TypeScript Mastery: Advanced Types, Generics, and Utility Types
2. React Internals & Core Hooks
Virtual DOM vs Reconciliation: The Fiber Architecture Effective useState & useEffect: Avoiding infinite loops useMemo vs useCallback: When optimization becomes a bottleneck useContext + useReducer: Building a built-in state manager Custom Hooks: Extracting business logic for reusability
3. Professional State Management
Redux Toolkit (RTK): Slices, Selectors, and Thunks RTK Query: Automating API caching and synchronization Zustand: The lightweight alternative to Redux Signal-based State: The future of fine-grained reactivity
4. Performance & Rendering
Component Re-rendering: How to profile and fix slow UIs Lazy Loading & Code Splitting: Shrinking your bundle size Virtualization: Rendering million-row lists efficiently Web Workers: Offloading heavy calculations to background threads
5. Design Systems & CSS
Modern CSS: Grid, Flexbox, and Container Queries CSS-in-JS vs TailWindCSS: Choosing the right styling strategy Storybook: Building a shared component library Accessibility (a11y): Building inclusive web interfaces
6. Next.js & Modern Frameworks
Next.js App Router: SSR vs SSG vs ISR React Server Components (RSC): The end of the Waterfall Data Fetching Patterns: Streaming and Suspense SEO for Frontend: Meta Tags, JSON-LD, and Core Web Vitals
7. Testing & Security
Unit Testing: Vitest and React Testing Library E2E Testing: Playwright for mission-critical flows Frontend Security: XSS, CSRF, and Content Security Policy State Synchronization: Optimistic UI & WebSockets
8. Final Polish & Interview
Micro-Frontends: Scalable architecture for enterprise teams Frontend Architect Interview: System Design & Performance