内容简介:React 17 正式版已经发布,本次版本变更日志如下: React 为全新的 JSX 转换器添加 react/jsx-runtime 和 react/jsx-dev-runtime。 根据原生框架构建组件调用栈。 可以在 context 中设置 displayName 以改善调用栈...
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
属性。 - 当没有给
<Context.Provider>
提供任何值时,会发出警告。 - 如果
forwardRef
或memo
组件的返回值为undefined
,则抛出警告。 - 为无效更新改进错误信息。
- 从调用栈信息中忽略 forwardRef 和 memo。
- 在受控输入与非受控输入间切换时,改善错误消息。
- 保持
onTouchStart
、onTouchMove
和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
参数。 - 禁用
<div hidden />
预渲染,以支持未来的 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
,会发出警告。
react v17 新特性详情:https://reactjs.org/blog/2020/10/20/react-v17.html
以上所述就是小编给大家介绍的《React 17 正式版发布》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Eclipse 4.9 正式版发布!
- PyCharm 2018.3 正式版发布!
- GoLand 2018.3 正式版发布!
- PhpStorm 2018.3 正式版发布!
- Gradle 5.0 正式版发布
- Istio 1.1 正式版发布
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Programming Concurrency on the JVM
Venkat Subramaniam / The Pragmatic Bookshelf / 2011-6-1 / USD 35.00
Concurrency on the Java platform has evolved, from the synchronization model of JDK to software transactional memory (STM) and actor-based concurrency. This book is the first to show you all these con......一起来看看 《Programming Concurrency on the JVM》 这本书的介绍吧!