项目跑到到了日志警告就卡住了_React 17 正式版发布,版本变更日志来啦!

dd22c2da2bb79871942a1189a846bd6f.png

喜欢就关注我们吧!

React 17 正式版已经发布,本次版本变更日志如下:

React

  • 为全新的 JSX 转换器添加 react/jsx-runtime 和 react/jsx-dev-runtime

  • 根据原生框架构建组件调用栈。

  • 可以在 context 中设置 displayName 以改善调用栈信息。

  • 防止 'use strict' 从 UMD 的 bundles 中泄露。

  • 停止使用 fb.me 进行重定向。

React DOM

  • 将事件委托从 document 切换为 root。

  • 在运行下一个副作用前,请清理所有副作用。

  • 异步运行 useEffect 清理函数。

  • 使用浏览器的 focusin 和 focusout 替换 onFocus 和 onBlur 的底层实现。

  • 将所有 Capture 事件都使用浏览器的捕获阶段实现。

  • 禁止在 onScroll 事件时冒泡。

  • 如果 forwardRef 或 memo 组件的返回值为 undefined,则抛出异常。

  • 移除事件池。

  • 移除 React Native Web 不需要的内部组件。

  • 当挂载 root 时,附加所有已知的事件监听器。

  • 在 Dev 模式下,禁用第二次渲染过程中的 console

  • 弃用为记录且具有误导性的 ReactTestUtils.SimulateNative API。

  • 重命名内部使用的私有字段

  • 不在开发环境调用 User Timing API。

  • 在严格模式下重复渲染期间禁用 console。

  • 在严格模式下,二次渲染组件也不使用 Hook。

  • 允许在生命周期函数中调用 ReactDOM.flushSync(但会发出警告)。

  • 将 code 属性添加到键盘事件对象中。

  • 为 video 元素添加 disableRemotePlayback 属性。

  • 为 input 元素添加 enterKeyHint 属性。

  • 当没有给  提供任何值时,会发出警告。

  • 如果 forwardRef 或 memo 组件的返回值为 undefined,则抛出警告。

  • 为无效更新改进错误信息。

  • 从调用栈信息中忽略 forwardRef 和 memo。

  • 在受控输入与非受控输入间切换时,改善错误消息。

  • 保持 onTouchStartonTouchMove 和 onWheel 默认为 passive。

  • 修复在 development 模式下 iframe 关闭时,setState 挂起的问题。

  • 使用 defaultProps 修复拉架子组件在渲染时的问题。

  • 修复当 dangerouslySetInnerHTML 为 undefined 时,误报警告的问题。

  • 使用非标准的 require 实现来修复 Test Utils。

  • 修复 onBeforeInput 报告错误的 event.type

  • 修复 Firefox 中 event.relatedTarget 输出为 undefined 的问题。

  • 修复 IE11 中 "unspecified error" 的问题。

  • 修复 shadow root 中的渲染问题。

  • 使用事件捕获修复 movementX/Y polyfill 的问题。

  • 使用委托处理 onSubmit 和 onReset 事件。

  • 提高内存使用率。

React DOM Server

  • 使用服务端渲染的 useCallback 与 useMemo 一致。

  • 修复函数组件抛出异常时状态泄露的问题。

React Test Renderer

  • 改善 findByType 错误信息。

Concurrent Mode(实验阶段)

  • 改进启发式更新算法。

  • 在实现性 API 前添加 unstable_ 前缀。 

  • 移除 unstable_discreteUpdates 和 unstable_flushDiscreteUpdates

  • 移除了 timeoutMs 参数。

  • 禁用  预渲染,以支持未来的 API。

  • 为 Suspense 添加了 unstable_expectedLoadTime,用于 CPU-bound 树。

  • 添加了一个实现性的 unstable_useOpaqueIdentifier Hook。

  • 添加了一个实验性的 unstable_startTransition API. 

  • 在测试渲染器中使用 act 后,不在刷新 Suspense 的 fallback。

  • 将全局渲染的 timeout 用于 CPU Suspense。

  • 挂载前,清除现有根目录的内容。

  • 修复带有错误边界的 bug。

  • 修复了导致挂起树更新丢失的 bug。

  • 修复导致渲染阶段更新丢失的 bug。

  • 修复 SuspenseList 的 bug。

  • 修复导致 Suspense fallback 过早显示的 bug。

  • 修复 SuspenseList 中使用 class 组件异常的 bug。

  • 修复输入内容可能被更新被丢弃的 bug。

  • 修复暂挂 Suspense fallback 后卡住的错误。

  • 如果 hydrate 中,不要切断 SuspenseList 的尾部。

  • 修复 useMutableSource 中的 bug,此 bug 可能在 getSnapshot 更改时出现。

  • 修复 useMutableSource 令人恶心的 bug。

  • 如果外部渲染且提交之前调用 setState,会发出警告。

▼ 往期精彩回顾 ▼

2020 年度 OSC 中国开源项目评选开始啦!

Ubuntu 20.10 正式发布:新特性亮点汇总

开发者图鉴丨故事,要从一场失恋说起……

WordPress 已过时?创始人与新架构拥护者开战

微软不会将 Windows 迁移到 Linux?

f98d0f4ea4bfeeb267b122673033c64e.png

a7805174bb580406198c401867786c63.png觉得不错,请点个在看呀

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值