Back to BlogEngineering

React Server Components: Lessons After 6 Months

TechZunction Team20 January 202611 min read

Six months ago, we made the decision to go all-in on React Server Components for every new client project. The promise was compelling — smaller bundles, faster initial loads, and a simpler mental model for data fetching. After shipping three production applications with RSC as the default, we can report that the promise is real, but the path to get there is littered with sharp edges that the documentation does not adequately prepare you for.

The biggest win has been the elimination of client-side data fetching waterfalls. In our old architecture, a typical dashboard page would render a skeleton, fire off three to five API calls from useEffect hooks, and progressively fill in the content. With server components, the data is fetched on the server during rendering and the fully-formed HTML arrives at the client in a single response. For one fintech client, this reduced their dashboard load time from 3.2 seconds to 0.8 seconds — a 4x improvement that directly impacted user engagement metrics.

The hardest part has been the mental model shift around the client-server boundary. Every interactive element — a dropdown, a modal, a form with real-time validation — needs to be explicitly marked as a client component. This seems simple in theory, but in practice, it means carefully architecting your component tree so that client components are leaf nodes that receive serializable props from server parents. We have developed a convention we call the 'shell pattern' — server components handle data fetching and layout, then pass data down to thin client wrappers that add interactivity.

The tooling ecosystem is still catching up. Several popular React libraries do not yet fully support RSC, and others require workarounds. React Hook Form, Zustand, and Framer Motion all needed careful integration to work correctly across the server-client boundary. We have open-sourced a set of adapter components that bridge these gaps, and we expect the ecosystem to stabilise significantly over the next six months as library authors embrace the server-first paradigm.

Stay in the loop

Get our latest articles on engineering, design, and building digital products — delivered straight to your inbox.