What RSCs Can Do in Next.js Today

This ad is not shown to multipass and full ticket holders
React Advanced
React Advanced 2026
October 23 - 26, 2026
London, UK & Online
Upcoming event
React Advanced 2026
React Advanced 2026
October 23 - 26, 2026. London, UK & Online
Bookmark
Rate this content
Sentry
Promoted
Code breaks, fix it faster

Crashes, slowdowns, regressions in prod. Seer by Sentry unifies traces, replays, errors, profiles to find root causes fast.

Get started

Building app-like UX on the web has historically meant reaching for an SPA. You ship the data layer to the browser, manage a client cache, juggle loading states, coordinate mutations, and write a lot of code to keep the UI feeling fast and fresh. The result can be great, but the cost is high, and the model gets harder to maintain as your app grows.

Next.js takes a different path. Since React Server Components first landed, we’ve been working toward a way to build where each piece of your app runs where it belongs, while the mental model stays the same: components. In this talk, you’ll see how that translates into instant-feeling UX, streamed UI, fresh data, coordinated updates, caching across the stack, and strong Core Web Vitals that hold up as your product scales.

This talk has been presented at React Summit 2026, check out the latest edition of this React Conference.

Aurora Scharff
Aurora Scharff
36 min
12 Jun, 2026

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Aurora discusses the journey of React Server Components in Next.js, emphasizing the importance of composability and scalability. The shift to server-side data fetching with enhanced composability and declarative nature is explored. The significance of self-contained components for fast server-side data fetching and improved user experience is highlighted. NextGIS app router is discussed for enhanced performance and optimized data caching. Version 16 introduces cache components for optimized data caching and instant navigations. Improvement in user experience with Next 16.3 through app shells, partial prefetching, and instant insights is emphasized. The talk also covers new components and features for server-side rendering, optimizing loading speed, animations, and playlist integration in Next.js.

1. Exploring React Server Components in Next.js

Short description:

Aurora discusses the journey of React Server Components in Next.js and the importance of composability in React components. The scalability of clear boundaries and the impact of data on composability are explored through practical examples with useEffect and component structure optimization.

My name's Aurora. I work on the Next.js team at Brazil. And React Server Components landed a few years ago. It's been quite a journey. Some of you have shipped app router apps with them. Some of you maybe you tried them, you bounced, you went back to the patterns that already worked for you, and some of you maybe have just been watching from the sidelines. So waiting to see where this goes. But wherever you are with them, the model has come a long way. And I want to show you what React Server Components can do in Next.js today and why I think it's the most interesting time to be building on the web.

But before we talk about Next.js, let's talk about React. The story starts with a thing we already love about React. Why do we love React? You might not have really thought about or articulated why, but you feel it every time you write a component. React is composable. You can build a row, a playlist, a page, snap them together, and they just work. So here's a page with a handful of feature components composed together. React components can be self-contained. A different page can reuse some of the same pieces mixed with new ones for what the page needs. React gives us clear boundaries. Somewhere else, same components reappear, re-stacked in another order. We didn't have to know what was inside each one. So that composability is the thing we want to keep. Everything else in the stack has to earn its place around that.

Now, components have clear boundaries, clear inputs, clear outputs. That's the same property that makes a component easy to reason about for us, also makes it manageable for an agent. So an agent can pick up one piece, change it, and not have to understand the whole app to do that safely. The bigger the code base gets, the more that matters for the agent, for you, and for your teammates. And this is not just true at the component level. People are noticing this in the shape of the whole code base. So this is Antonio. You might have watched his YouTube code with Antonio. It was great. It was like my way when I was learning AppRouter back in the day. But he's been building real apps with agents, and what he also keeps landing on is this small blast radius and clear boundaries. So this is the same property, just scaled up to the code base level. Maybe that would mean feature folder instead of only thinking about single components. But what does all of this look like in practice when you start building? The moment we add data, composability comes under pressure. Some approaches keep it and pay for it somewhere else, and some just lose the composability entirely. So let's walk through what we've tried. We started with useEffect, our favorite. The component can fetch on render, own its loading flag, owns the error flag and runs the request inside the useEffect with the right dependency array. Do you forget a dependency and you get stale data or you add one too many and you start fetching in a loop? So on its own, it looks fine. We have a component here, top boundary grid, it's owning its data. But then the moment another component then needs the same data, we can't just drop this in twice because now we'd be making the same fetch twice. So we hoist it up to a parent component, pass it down through props, and suddenly this component no longer owns its data. Start adding mutations, you have to hoist it higher to execute those state changes, and suddenly your self-contained component is plumbed through three levels of props for reasons that have nothing to do with the UI structure. A whole category of libraries emerged to clean this up. We had React Query, SWIR, Apollo, Relay. So here the data would instead be keyed and cached centrally so that any component can ask for it without prop drilling, and mutations can invalidate from anywhere. And this was a genuine step forward. And these libraries are still a great choice for a lot of apps today.

2. Analyzing Data Fetching in React Server Components

Short description:

Exploring the shift to server-side data fetching with React server components and the enhanced composability and declarative nature it brings to components.

But the trade-off here is that this is all client-first. The user still has to download the JavaScript and the data layer before any fetch starts, and the cache leaves outside of the component tree, so that means we typically maintain two structures, the components and then the query keys. And that mental overhead is the price of client-side flexibility. In response, some frameworks and libraries hoist the data fetching up to the routes. So in the pages router we had getServers.props, React has loaders, so we all converged into this same pattern. A single function that fetches everything the page needs up front, and then the result can be passed down.

Now getServers.props improved the overall time to load content by fetching on the server, but it hurt the time to first frame, because the page would be waiting on the slowest query before anything would be painted. And the data binding moved to the route, so here, if we have a component that's reading the data from the loader, you can no longer just drop this anywhere, because it's tied to the loader, you have to move the loader, you have to clean it up if you move it somewhere else, so basically the component would be welded to the route. And it would be harder to share the same data across different layouts or routes. So each of this solved a real problem, but each one also added a concept, and every time the component became a little more tied to the layer that fetches its data.

Now with React server components, the fetching stays on the server, right next to the database, the API, the file system, wherever the data actually lives, so the same component here one more time, it's now an async function, it awaits its query directly where it renders and returns the UI. And look at what came back here, composition. So the component can now own its data again. You can drop this anywhere and it will just work. And React's model has always been declarative, describe what should happen and let React coordinate when. Now suspense extends that to async where loading becomes a part of that model, so we can wrap the parts that depend on the data, give them a fallback and have the content stream in when ready. We can also use error boundaries to compose in the same declarative way.

QnA

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Simplifying Server Components
React Advanced 2023React Advanced 2023
27 min
Simplifying Server Components
Top Content
React server components simplify server-side rendering and provide a mental model of components as pure functions. Using React as a library for server components allows for building a basic RSC server and connecting it to an SSR server. RSC responses are serialized virtual DOM that offload code from the client and handle interactivity. The client manifest maps serialized placeholders to real components on the client, enabling dynamic rendering. Server components combine the best of classic web development and progressive enhancement, offering the advantage of moving logic from the client to the server.
Exploring React Server Component Fundamentals
React Day Berlin 2023React Day Berlin 2023
21 min
Exploring React Server Component Fundamentals
Top Content
This Talk introduces React Server Components (RSC) and explores their serialization process. It compares RSC to traditional server-side rendering (SSR) and explains how RSC handles promises and integrates client components. The Talk also discusses the RSC manifest and deserialization process. The speaker then introduces the Waku framework, which supports bundling, server, routing, and SSR. The future plans for Waku include integration with client state management libraries.
And Now You Understand React Server Components
React Summit 2024React Summit 2024
27 min
And Now You Understand React Server Components
Top Content
In this Talk, Kent C. Dodds introduces React Server Components (RSCs) and demonstrates how to build them from scratch. He explains the process of integrating RSCs with the UI, switching to RSC and streaming for improved performance, and the benefits of using RSCs with async components. Dodds also discusses enhancements with streaming and server context, client support and loaders, server component rendering and module resolution, handling UI updates and rendering, handling back buttons and caching, and concludes with further resources for diving deeper into the topic.
A Practical Guide for Migrating to Server Components
React Advanced 2023React Advanced 2023
28 min
A Practical Guide for Migrating to Server Components
Top Content
React query version five is live and we'll be discussing the migration process to server components using Next.js and React Query. The process involves planning, preparing, and setting up server components, migrating pages, adding layouts, and moving components to the server. We'll also explore the benefits of server components such as reducing JavaScript shipping, enabling powerful caching, and leveraging the features of the app router. Additionally, we'll cover topics like handling authentication, rendering in server components, and the impact on server load and costs.
Server Components: The Epic Tale of Rendering UX
React Summit 2023React Summit 2023
26 min
Server Components: The Epic Tale of Rendering UX
Top Content
This Talk introduces server components in React, which provide an intermediate format for rendering and offer advantages for both client-side and server-side rendering. Server components reduce bundle size on the client and improve search engine optimization. They abstract the rendering process, allowing for faster rendering and flexibility in choosing where to render components. While server components are still in the experimental stage, Next.js is a good starting point to try them out.
RSCs In Production: 1 Year Later
React Summit 2024React Summit 2024
24 min
RSCs In Production: 1 Year Later
Top Content
This Talk explores the experience of shipping server components in production and highlights the benefits and challenges of using Server Components in Next.js apps. The Talk discusses the deployment of UploadThing and the use of AppRouter for safe production usage. It delves into the implementation of different layouts, data fetching, and code centralization for improved performance. The Talk also covers the use of server components for performance optimization and latency handling. Additionally, it explores the use of Edge and Lambda for partial pre-rendering and the challenges faced with webpack performance and hydration. Overall, the Talk emphasizes the benefits and challenges of working with Server Components in Next.js applications.

Workshops on related topic

Mastering React Server Components and Server Actions in React 19
React Summit US 2024React Summit US 2024
150 min
Mastering React Server Components and Server Actions in React 19
Featured Workshop
Maurice de Beijer
Maurice de Beijer
Calling all React developers! Join us for an immersive 4-hour workshop diving deep into React Server Components and Server Actions. Discover how these game-changing technologies are revolutionizing web development and learn how to harness their full potential to build lightning-fast, efficient applications.

Explore the world of React Server Components, seamlessly blending server-side rendering with client-side interactivity for unmatched performance and user experience. Dive into React Server Actions to see how they combine client-side interactivity with server-side logic, making it easier to develop interactive applications without traditional API constraints.

Get hands-on experience with practical exercises, real-world examples, and expert guidance on implementing these technologies into your projects. Learn essential topics such as the differences between Server and Client Components, optimizing data fetching, passing data effectively, and maximizing performance with new React hooks like useActionState, useFormStatus and useOptimistic.

Whether you're new to React or a seasoned pro, this workshop will equip you with the knowledge and tools to elevate your web development skills. Stay ahead of the curve and master the cutting-edge technology of React 19. Don't miss out - sign up now and unleash the full power of React!
Exploring Server Side Rendering
React Advanced 2025React Advanced 2025
179 min
Exploring Server Side Rendering
Featured Workshop
Krasimir Tsonev
Krasimir Tsonev
Server-side rendering (SSR) is back in the spotlight – and React is evolving fast. In this workshop, we’ll go deep into the mechanics, performance trade-offs, and modern techniques of SSR with React.js. You'll start by building an SSR app from scratch – no frameworks, just raw renderToString and hydrateRoot—to truly understand how React renders on the server and hydrates on the client. From there, we'll upgrade to React 18’s streaming capabilities using renderToPipeableStream, implement selective hydration using Suspense, and integrate data fetching directly into the server render cycle. We’ll look at React Server Components (RSC), showing how they complement SSR. We'll also cover hydration strategies, how to prevent mismatches, and how to cache or stream HTML effectively for real-world performance. Finally, we’ll bridge our manual SSR work into production frameworks like Next.js.
Next.js 13: Data Fetching Strategies
React Day Berlin 2022React Day Berlin 2022
53 min
Next.js 13: Data Fetching Strategies
Top Content
Workshop
Alice De Mauro
Alice De Mauro
- Introduction- Prerequisites for the workshop- Fetching strategies: fundamentals- Fetching strategies – hands-on: fetch API, cache (static VS dynamic), revalidate, suspense (parallel data fetching)- Test your build and serve it on Vercel- Future: Server components VS Client components- Workshop easter egg (unrelated to the topic, calling out accessibility)- Wrapping up
The Gateway to Backend: A Frontend Developer's Guide to Full-Stack Development
React Summit US 2023React Summit US 2023
160 min
The Gateway to Backend: A Frontend Developer's Guide to Full-Stack Development
Top Content
WorkshopFree
Amy Dutton
Amy Dutton
This workshop will guide you through the product development life cycle of creating a real-world web application. You will learn about React Server Components, building a design system within Storybook, and using frontend development to approach becoming a full-stack developer. The workshop will cover increasing confidence in your application with unit tests and implementing authentication and authorization. You'll have the opportunity to work through product features and examine a real-world RedwoodJS project, gaining valuable experience in real-world product development. RedwoodJS makes it simple to approach full-stack development, and this workshop will give you the skills you need to create your own real-world web applications.
Advanced Application Deployment Patterns with React Server Components (feat. a DIY RSC Framework)
React Summit US 2023React Summit US 2023
104 min
Advanced Application Deployment Patterns with React Server Components (feat. a DIY RSC Framework)
Top Content
Workshop
 Greg Brimble
Greg Brimble
The developer ecosystem is always moving fast and this year has proved no exception. React Server Components can offer a significant improvement to developer experience and to application performance. But I think it's fair to say that this new server-first paradigm can be tricky to wrap your head around!In the first half of this workshop, we'll explore React Server Components from the ground-up: building our own mini meta-framework to help us understand how RSCs work. We'll discover exactly what is produced by an RSC build and we'll connect those pieces together to form a full application.Next, we'll deploy it! Cloudflare have also had a busy year too — Smart Placement, in particular, is a new technology that we've developed which fits the RSC model perfectly. We'll explore why that makes sense for our workshop app, and we'll actually deploy it onto the Cloudflare Developer Platform.Finally, we'll build out our app a little further, using D1 (our serverless SQL database) to really show off the React Server Component's power when combined with Smart Placement.You should come away from this workshop with a greater understanding of how React Server Components work (both behind-the-scenes and also how you as a developer can use them day-to-day), as well as insight into some of the new deployment patterns that are now possible after recent innovations in the platform space.
Building Reusable Server Components in NextJS
React Summit US 2023React Summit US 2023
88 min
Building Reusable Server Components in NextJS
Top Content
Workshop
Will Bishop
Mettin Parzinski
2 authors
React continues to evolve their beta capability, React Server Components, and they're continuing to further develop them in partnership with frameworks like NextJS.In this workshop, attendees will learn what React Server Components are, how to effectively build and use them in NextJS, and focus on one of the major advantages of React/NextJS: reusability through components.We will also cover related beta technologies enabled by the `app` directory, such as nested layouts and server actions (alpha/experimental capability).Join us for this hands-on, 120 minute workshop!Technologies:
React, JavaScript/Typescript, NextJS, Miro