Choosing only client rendering, server rendering, or static generation can limit an application. Server Components let developers choose what runs on the server or client for each component, keeping heavy dependencies such as Markdown and date libraries off the client.
React Server Components
Lee Robinson, a developer at Vercel, explains React Server Components and demonstrates how they work with Next.js and Vercel.
Server-side rendering sends HTML to speed up the initial display, but the browser still downloads and runs the client components. Server Components instead return a description of the rendered UI that React can merge with existing client components, allowing updates without losing client state.
Suspense can show a loading fallback while code or data loads and help avoid sequential network requests. The talk also describes Concurrent Mode as allowing components to render as data streams in and supporting multiple state updates.
Server Components require Node.js, so teams need a server or serverless hosting provider. In the note-taking demo, selecting a note triggers a request whose response updates the server-rendered detail while preserving client state such as the search text. The project was open source, and Server Components were still experimental.
Takeaways
- Use Server Components to keep heavy formatting or data dependencies out of the client bundle.
- Treat Server Components as complementary to server-side rendering: SSR sends HTML, while Server Components describe UI updates for React.
- Choose server or client rendering per component when different parts of an app have different needs.
- Account for server or serverless hosting when adopting Server Components.
- Use Suspense fallbacks and parallel data requests to keep the interface responsive while content loads.
Mentioned in this talk
Search inside this talk
What was claimed 8
- featureReact Server Components: Allow server and client components within the same application
“apps that span the server and the client”
YouTube Unverified1 source· Talk
- featureReact Server Components: Reduce client-side JavaScript and improve initial page load time
“reducing the client bundle JavaScript”
YouTube Unverified1 source· Talk
- featureReact Server Components: Return a description of rendered UI that React can merge with existing client components
“these server components return a description of the rendered UI”
YouTube Unverified1 source· Talk
- integrates withReact Server Components integrates with
Next.js
“Frameworks like Next.js will combine server-side rendering with server components”
YouTube Unverified1 source· Talk
- integrates withReact Server Components integrates with Concurrent Mode
“Server Components are also compatible with Concurrent Mode”
YouTube Unverified1 source· Talk
- uses
“React Server Components use Suspense”
YouTube Unverified1 source· Talk
- featureReact Server Components: Require a server or serverless hosting provider
“This will require having a server or a serverless hosting provider”
YouTube Unverified1 source· Talk
- uses
“deployed on the Vercel platform”
YouTube Unverified1 source· Talk
Related talks
1:21:37
24:03
26:31
11:32
9:10
4:21