RAYAXIS

Blog

Server Components vs Client Components in Client React Apps

March 11, 2026react · nextjs · server components · architecture

How we decide what stays on the server in Next.js/React apps we ship — without turning the codebase into a boundaries puzzle.

All posts

Boundaries should serve the product

Server Components are not a purity contest. They are a way to keep secrets and heavy data work off the browser when the framework supports it.

Our default split

  • Server: data loading, SEO pages, permission-aware rendering of static structure
  • Client: interactive widgets, charts that need browser APIs, optimistic UI

Push 'use client' to leaf components when possible so the rest of the tree stays lighter.

Mistakes that slow teams down

  • Marking large layouts as client “just in case”
  • Fetching the same data in three client effects
  • Passing non-serializable props across the boundary and fighting the framework

When an SPA is still right

Heavy authenticated dashboards behind login can remain SPA-style React + API. We do not force RSC onto every codebase for fashion.

Rayaxis picks the rendering model that matches hosting, SEO needs, and who will maintain the app six months later.

← Back to blog