In version 18.0.0, the React team introduces a new feature called React Server Components (RSC).
With RSC, developers can write components that run on the server and are only hydrated on the client as needed. This can lead to faster page load times and better user experience, especially for applications with large amounts of server-rendered content.
Previously, traditional server rendering in React involves rendering the entire component tree on the server and sending the resulting plain HTML to the client. This works well for small to medium-sized applications, but the performance of the application can quickly become worse as the application grows. With RSC, the server only renders the parts of the component tree that are needed for the initial view, and then the remaining components are hydrated on the client using the same server-rendered markup.
The key benefit of RSC is that it enables more efficient use of server resources, which can help reduce server costs and improve performance. Additionally, RSC provides a better developer experience by allowing developers to write components that are purely declarative and don't require any client-side code to run.
RSC achieves this by introducing a new component type, the
server-component. Server components are similar to regular components, but they can only be rendered on the server. The server components can also be asynchronous, meaning they can fetch data or perform other side effects before rendering the markup.
When a client requests a page, the server only renders the top-level server component and sends the resulting markup to the client. As the user interacts with the page, any child server components that need to be rendered are requested from the server and then hydrated on the client.
To use RSC in your React application, you'll need to make sure that you're using the latest version of React (18.0.0) and also install the experimental
react-server package. From there, you can begin writing server components and using them in your application.
It's important to note that RSC is still an experimental feature and is not recommended for production use just yet. However, it's an exciting development for the React community and is likely to have a significant impact on how we build React applications in the future.
React Official Blog Link: https://reactjs.org/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.html