React 18: benefits of updating the popular open source library

December 17, 2021

Tags: Tech Trends, Technologies


The immense React community is in a state of celebration since the arrival of the new update of the popular open source library, created by Facebook and which has been a fundamental part of the development of thousands of web pages and applications around the world.


React 18, as they named it, went from its Alpha state to beta and some developers in the community have already tested this latest update, praising its new features and functions, some that are focused on maintaining third-party libraries by presenting improvements never seen before.


These new features and enhancements that have excited developers so much, are made possible by the optional “concurrent rendering” mechanism in React 18, allowing you to create multiple versions of the user interface at the same time.


Let's take an in-depth look at the new enhancements and features that React 18 has


1. Enter a new root API


In React, the "root" is a pointer to the top-level data structure that is used to keep track of the representation of a tree. By having a legacy root API, it will be opaque for users since it can be attached to the DOM element and thus accessed through the DOM node without exposing the root to users. However, it is not necessary to store the root in the DOM node.


The legacy root API has some issues with running updates, for example we need to continue passing the container to the render, even if it never changes. Adding a new root API fixes this problem, so we no longer need to pass the container to the render.


Even these changes to the root API allow the developer to remove the hydrate method and replace it with an option in the root, this changes the way the callback works.


2. Improvements in the automatic batch process


When we talk about batch processing, we mean the task of bundling React's multi-state updates into a single rendering state, achieving better computational performance.


This batching was only done for event handlers in previous versions of React, now in case of other events such as asynchronous status updates they are not batch processed in React by default. The problem is solved by adding automatic batch processing in React 18 using the root API, now all updates will be processed automatically regardless of their origin.




3. The new "Star transition API" to keep the app responsive


The startTransition API is one of the most important updates in React 18, helping to keep the application responsive even during big screen updates. This API allows you to control the concurrency aspect to improve user interaction.


This API can be used by packaging heavy updates as "startTransition" and will be interrupted only if more urgent updates are started. Therefore, it classifies urgent updates and slow updates. One thing to keep in mind with this update is that if the transition is interrupted by user actions, React will immediately discard the unfinished stale rendering job and only continue rendering the latest update.


4. Server-side architectural improvement


One of the new features in React 18 is the architectural enhancement to React's server-side rendering. In simple words, this server-side rendering generates HTML from the reaction components on the server and then sends it back to the client, so the client can now see the content of the page before it loads and run the JavaScript package.


The extensive React community is already testing this new version, they have even taken on the task of compiling a list of React 18-compatible libraries that anyone can access.


Our expert developers in Rootstack have already used this update to create and update websites and thus be able to solve the problems of our regional and international clients. You too can be part of this team and continue to grow professionally.


We recommend you on video


Let's work together!