When it comes to building an application, the best developers accomplish three things: great user experience, scalability over time, and fast performance.
At a high level, React Server Components are Components that can be rendered on the server and on the client. This allows developers to build apps that span both sides of the application so the app can provide the best experience.
By performing data fetching on the server, React Server Components will change how developers build React applications. Because server code is never sent to the client as a bundle, the time it takes to interact with the application is faster.
This creates an environment where we use the client to optimize interactivity and use the server to further optimize performance.
React Server Components take inspiration from other technologies including PHP, Ruby on Rails, and GraphQL. However, React Server Components give developers more control over what is or isn’t sent to the client, which allows for greater flexibility.
Server-side Rendering (SSR) is the process of taking an application and rendering it to HTML and CSS on the server. This creates faster load times for users, especially ones who have slower internet connections or older devices. However, developers still pay the cost to download, to parse, and to execute those components after the initial HTML loads.
The Next.js team has created a React Server Components demo so that you can see an early staging of how React Server Components may work in Next.js.
React Server Components are still in the RFC phase. As with all new features, React Server Components will evolve and change as more research is done. Look for updates here on how React Server Components will integrate with Next.js.
The Next.js team at Vercel works closely with the React team at Facebook. React Server Components are coming soon. We’ll update this page as more information becomes available.