docs: streamline formatting and proofreading

This commit is contained in:
Stefan Rotsch
2023-10-16 12:22:46 +02:00
committed by Stefan Rotsch
parent 2c541dfbea
commit 94ac286c34
43 changed files with 177 additions and 257 deletions

View File

@@ -2,36 +2,20 @@
title: "React.js"
ring: adopt
quadrant: languages-and-frameworks
tags: [coding, frontend]
tags: [coding, frontend]
---
React today is the frontend library with the highest distribution inside our company and is used in different varieties.
May it be through frameworks like [NextJS](/languages-and-frameworks/next-js.html) and [Remix](/languages-and-frameworks/remix.html)
or as client-side-only applications, React can be found in many of our current projects. Over the years there has grown
a community with a lot of expertise inside the company.
React today is the most widely used frontend library within our company, employed in various forms. Whether it's integrated into frameworks like [NextJS](/languages-and-frameworks/next-js.html) and [Remix](/languages-and-frameworks/remix.html) or utilized for client-side-only applications, React plays a significant role in many of our ongoing projects. Over time, a community of experts has emerged within the company.
We are convinced that the following features and many others of React 18 will strengthen its popularity inside the company
and the community in general.
We firmly believe that React 18, with its range of new features, will further enhance its popularity within our company and the broader community.
**Suspense**:
It isn't a completely new feature as it was already released as a basic version in 2018. But there were some key
limitations. Its first official use case was code splitting with `React.lazy`. This was only possible on the client but
not during server rendering. The goal always was to improve the loading experience on the client and the server.
Now with React 18, Suspense enables a new feature called Streaming server rendering. In short that means React can send
the HTML of the loading fallback first and then after loading completes, send the actual HTML content to the client.
The React team still has some improvements to do, especially to enable data fetching libraries to use Suspense. Therefor
they are collaborating with authors of some of the biggest libraries like TanStack Query, SWR or Apollo.
### Suspense
While not an entirely new feature, Suspense was initially introduced in a basic version back in 2018. However, it had certain limitations. Its first official use case was code splitting with `React.lazy`, but this feature was only available on the client side, not during server rendering. The primary goal has always been to enhance the loading experience both on the client and server. With React 18, Suspense now enables Streaming server rendering, a new feature that allows React to send the HTML of the loading fallback first and then, after loading completes, send the actual HTML content to the client. The React team continues to work on improving Suspense, particularly to enable data fetching libraries to use it. They are collaborating with authors of some of the most prominent libraries like TanStack Query, SWR, and Apollo.
**Server Components**:
It's the name of a new React application architecture paradigm with the goal to reduce the amount of JavaScript sent
to the client. The feature introduces a new kind of component that is running on the server exclusively. This new approach
is pretty promising, that's why we gave [React Server Components](/methods-and-patterns/react-server-components.html) a dedicated item on our Tech Radar.
### Server Components
Server Components represent a new paradigm in React application architecture with the goal of minimizing the amount of JavaScript sent to the client. This approach introduces a new type of component that operates exclusively on the server. It shows great promise, which is why we have given [React Server Components](/methods-and-patterns/react-server-components.html) a dedicated entry on our Tech Radar.
**Concurrency**:
It's a foundational update to React's rendering model. Mostly happening under the hood, it brings the possibility to create
multiple versions of a user interface at the same time. With concurrent React, rendering can be interrupted, abandoned and
continued which means the application can respond to user interactions immediately if it's currently in a rendering task.
### Concurrency
This is a fundamental update to React's rendering model, primarily occurring under the hood. It introduces the ability to create multiple versions of a user interface concurrently. With concurrent React, rendering can be interrupted, abandoned, and resumed, allowing the application to respond to user interactions immediately, even if it's currently in the middle of rendering.
The React team is working closely with some of the biggest players in the React ecosystem to stabilise and improve the library
but also to experiment with new features, which we think is a perfect way to keep React as exciting as it is.
The React team is collaborating closely with some of the major players in the React ecosystem to stabilize and enhance the library. They are also experimenting with new features, ensuring that React remains as exciting as ever.