update

  1. We’re already working on the React 18 version, which will be our next major release.

  2. We created a Working Group to help the community prepare for the gradual adoption of new features in React 18.

  3. We’ve released React 18 Alpha so the React library authors can try it out and provide feedback.

The updates described in this article are aimed at maintainers of third-party libraries. If you’re learning, teaching, or building user-facing applications with React, you can safely ignore this article. But if you’re curious, you’re welcome to follow the discussion in the React 18 workgroup!

React 18 new features

When React 18 was released, It will include out-of-the-box improvements (such as Automatic batching), new apis (such as startTransition), and a new Streaming Server renderer with built-in support for React. Lazy.

These new features are made possible by the addition of a new optional mechanism in React 18. This mechanism is called concurrent rendering and allows React to prepare multiple versions of the UI simultaneously. This change is mostly at the bottom (relative to the interface layer that developers are exposed to), but it frees up more power to improve the real and perceived performance of the application.

If you’ve been following our React Future study (we don’t want you to!) You may have heard of something called concurrent mode, or that this feature can disrupt your application. In response to this feedback from the community, we redesigned our upgrade strategy, replacing cliff upgrades with incremental upgrades. Compared to the cliff upgrades (either unused or All in) that concurrent mode could bring, concurrent rendering only triggers when you use certain new features. In practice, this means you’ll be able to upgrade to React 18 and try out new features at your own pace without rewriting existing projects.

An incremental upgrade strategy

Because concurrent mode is optional in React 18, the behavior of components does not change significantly. You can upgrade to React 18 with minimal or no changes, which is comparable to the typical migration of major React releases. Based on our experience converting multiple applications to React 18, we expect that many users will be able to complete the upgrade in an afternoon.

We successfully provided concurrency capabilities for tens of thousands of Components on Facebook, and based on our experience, we found that most React components “work” without additional changes. We are committed to ensuring a smooth upgrade for the entire community, which is why today we are announcing the formation of the React 18 Working Group.

Working with the community

In terms of working with the community, we’re trying something new for this release: We’ve invited experts, developers, React library authors, and educators from across the React community to join our React 18 working group to provide feedback, ask questions, and work together for the final official release. We can’t invite everyone we’d like to join this small start-up group, but if this experiment is successful, we hope to invite more people in the future!

The React 18 Working Group’s goal is to make the upgrade of existing applications and libraries to React 18 smooth and gradual. The working group is hosted in GitHub Discussions and is available for public reading. Members of the group can leave feedback, ask questions and share ideas. The core team will also use GitHub Discussions to share our findings. As the stable version approaches, any important information will be posted on this blog as well.

For more information about upgrading to React 18, or other resources for this release, see React 18 Announcement Post.

React 18 Working Group

Everyone can see the discussion in the React 18 workgroup REPO.

Since we anticipate a surge of public interest once the working group goes public, only invited members will be allowed to create or comment on related topics. However, these topics are fully visible to the public, so the information available to everyone is exactly the same. We believe this is a good compromise between “creating a productive environment for team members” and “ensuring transparency in the community.”

As always, you can submit bug reports, issues, and normal feedback to our Issue Tracker.

How to try something new?

React 18’s alpha release gives you a sneak peek at React 18.

New alpha is regularly released to NPM using the @alpha tag. These versions are built using the full source code recently submitted to our repository. After merging features or bug fixes, we will continue to release new alpha releases, measured in working days.

There may be significant behavior or API changes between alpha releases. Keep in mind that we do not recommend using alpha for user-facing production-grade applications.

React 18 Release schedule (expected)

We don’t have an exact timeline for the release process, but we expect a few months of feedback and iteration before we officially launch React 18.

  1. Alpha version: available today
  2. Public Beta: at least a few months
  3. Release Candidate: at least a few weeks after the Beta Release
  4. Official release: at least a few weeks after the RC release

For more details on our release process schedule, see the Working Group. We’ll post updates on this blog as we get closer to official release status.

conclusion

A new organization:

  • React Working Group

Three new features:

  • automatic batching
  • startTransition
  • new streaming server renderer

data

  • 译 文 : The Plan for React 18