React Team Delays Version 19 to Address Suspense Tag Change Controversy
The React team has announced a delay in the release of React 19 to rework a controversial change to the Suspense tag following community backlash. The change, intended to improve performance, has instead led to concerns that it would slow down many existing applications.
The Suspense tag in React allows fallback content to be displayed until data within the tag is fetched from the server. Previously, React performed parallel fetches within the same Suspense element.
However, in March 2023, Andrew Clark from Vercel and the React Core team merged a commit changing this behavior. He noted the original parallel fetch rationale but identified issues with prerendering siblings in the same render pass before the loading state appears. The proposed solution was to immediately unwind the stack to unblock the loading state when something suspends.
Clark mentioned the potential for a future feature called resumable context stacks to re-enable parallel fetches without the current drawbacks. He suggested moving data fetches to server components or route loaders as best practice, which are alternative methods to fetch server data before rendering on the page.
The pull request has received significant pushback, with 190 downvotes and only 10 upvotes, due to concerns that disabling parallel fetches within a Suspense boundary would slow performance. Developers voiced their displeasure, with one saying, “Please revert this change or at least make it opt-in if you think there are users who need to render their components as serially loaded waterfalls.” Another commented that the change blocks a key React pattern of fetching data where it is used.
The controversy gained traction after Dominik Dorfmeister, an engineer with TanStack Query (formerly React Query), highlighted the issue on Twitter, stating, “I haven’t seen anyone so far apart from the React core team who thinks this is the right tradeoff.” His comments led to discussions with team members at a React Summit in Amsterdam. Subsequently, Sophie Alpert from the React core team tweeted that the 19.0 release would be held until a good fix is found.
Dorfmeister called for better communication channels with the React team and regretted the public confrontation on Twitter, praising the team for their calm response. Some developers see the issue as indicative of React’s shift from a client framework to one requiring server components. One Reddit user remarked, “If they continue to deviate from this, it’s just a matter of time until a new library gains popularity for those who don’t want to deal with all this SSR [Server Side Rendering] stuff.”
A new GitHub issue has been created to discuss the proposed fix. The React team’s willingness to delay the release highlights their commitment to addressing community concerns and ensuring optimal performance for all users.
Start Growing with Cloudways Today.
Our Clients Love us because we never compromise on these
Abdul Rehman
Abdul is a tech-savvy, coffee-fueled, and creatively driven marketer who loves keeping up with the latest software updates and tech gadgets. He’s also a skilled technical writer who can explain complex concepts simply for a broad audience. Abdul enjoys sharing his knowledge of the Cloud industry through user manuals, documentation, and blog posts.
Thankyou for Subscribing Us!
Do you like what you read?
Thank you for your feedback!
No Comments