What problem does it solve?
Developers and teams often struggle to decide which React components should run on the server versus the client, leading to oversized client bundles, improper access to server resources, or broken interactive behavior; this Skill clarifies the tradeoffs and best practices for Next.js App Router projects.
Core Features & Use Cases
- Decision Guidance: Clear rules for when to use Server Components or mark a component with 'use client' for interactivity.
- Composition Patterns: Practical patterns for passing server-rendered children into client boundaries, using slots, providers, and lifting state.
- Data Fetching & Performance: Recommendations for async server components, parallel fetching, streaming with Suspense, caching, and serialization at boundaries.
- Real-World Use Cases: Designing dashboards with mixed interactive parts, building product pages that fetch server data and expose small client controls, and safely accessing backend resources or secrets.
Quick Start
Ask whether a given component should be a Server Component or a Client Component based on whether it needs state, effects, event handlers, direct backend access, or access to browser APIs.