其他分享
首页 > 其他分享> > React 17 正式发布!更新一览

React 17 正式发布!更新一览

作者:互联网

就在今天,React 团队正式发布了 React 17,这次发布带来了哪些内容?

没有新特性

React 17版本不同寻常,因为它没有添加任何面向开发人员的新功能。取而代之的是,该发行版主要致力于简化React本身的升级。

逐步升级

之前 React 15升级到 React 16,你需要将整个应用一次性升级。但无疑如果存在多年前的老代码,升级是个不小的挑战。尽管可以在页面上同时使用两个版本的React,但是直到React 17仍然很脆弱,并导致事件问题。

我们正在解决React 17的许多问题。这意味着当React 18和下一个未来版本问世时,您现在将有更多选择。第一种选择是像以前可能那样一次升级整个应用程序。但是您也可以选择逐个升级您的应用程序。例如,您可能决定将大部分应用程序迁移到React 18,但在React 17上保留一些延迟加载的对话框或子路由。

这并不意味着您必须逐步升级。对于大多数应用程序,一次全部升级仍然是最好的解决方案。加载两个版本的React(即使其中一个是按需延迟加载)仍然不理想。但是,对于没有积极维护的大型应用程序,可以考虑使用此选项,React 17可以使这些应用程序不落伍。

我们将其他更改推迟到React 17之后,就是为了本次发布能渐进升级。如果升级React 17过于困难,这将违背原本意图。

事件代理更改

在React 17中,React将不再在后台的文档级别附加事件处理程序。取而代之的是,它将它们附加到渲染您的React树的根DOM容器:

const rootNode = document.getElementById('root');
ReactDOM.render(<App />, rootNode);

在React 16和更早的版本中,React将对大多数事件执行document.addEventListener()。React 17将在后调用rootNode.addEventListener()。
watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

其它重大变化

在React v17 RC博客中已经描述了其余的重大更改。
官方已经在Facebook产品代码中的100,000多个组建中更改少于20个组件即可完成升级,所以大家在升级的时候应该可以轻松点。

新的JSX转换

React 17支持新的JSX转换。我们还将对它支持到React 16.14.0,React 15.7.0和0.14.10。需要注意的是,这是完全选择启用的,您也不必使用它。之前的JSX转换的方式将继续存在,并且没有计划停止对其支持。

安装

npm install react@17.0.0 react-dom@17.0.0

CDN

<script crossorigin src="https://unpkg.com/react@17.0.0/umd/react.production.min.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@17.0.0/umd/react-dom.production.min.js"></script>

Changelog

React

React DOM

React DOM Server

React Test Renderer

Concurrent Mode (实验阶段)

 

标签:修复,17,一览,acdlite,React,提交,sebmarkbage
来源: https://blog.51cto.com/wpbars/2959891