React 16.3.0 已发布,React 是 Facebook 推出的一个为数据提供渲染为 HTML 视图,用来构建用户界面的开源 JavaScript 库。
React 视图通常采用包含以自定义 HTML 标记规定的其他组件的组件渲染。React 为程序员提供了一种子组件不能直接影响外层组件("data flows down")的模型,数据改变时对 HTML 文档的有效更新,和现代单页应用中组件之间干净的分离。
更新内容:
React
- Add a new officially supported context API
- Add a new
React.createRef()
API as an ergonomic alternative to callback refs. - Add a new
React.forwardRef()
API to let components forward their refs to a child. - Fix a false positive warning in IE11 when using
React.Fragment
- Replace
React.unstable_AsyncComponent
with React.unstable_AsyncMode
- Improve the error message when calling
setState()
on an unmounted component.
React DOM
- Add a new
getDerivedStateFromProps()
lifecycle and UNSAFE_
aliases for the legacy lifecycles. - Add a new
getSnapshotBeforeUpdate()
lifecycle - Add a new
<React.StrictMode>
wrapper to help prepare apps for async rendering. - Add support for
onLoad
and onError
events on the <link>
tag - Add support for
noModule
boolean attribute on the <script>
tag - Fix minor DOM input bugs in IE and Safari
- Correctly detect Ctrl + Enter in
onKeyPress
in more browsers - Fix containing elements getting focused on SSR markup mismatch
- Fix
value
and defaultValue
to ignore Symbol values - Fix refs to class components not getting cleaned up when the attribute is removed.
- Throw with a meaningful message if the component runs after jsdom has been destroyed.
- Don't crash if there is a global variable called
opera
with a null
value - Don't check for old versions of Opera
- Deduplicate warning messages about
<option selected>
- Deduplicate warning messages about invalid callback
- Deprecate
ReactDOM.unstable_createPortal()
in favor of ReactDOM.createPortal()
. - Don't emit User Timing entries for context types
- Improve the error message when context consumer child isn't a function.
- Improve the error message when adding a ref to a functional component.
React DOM Server
- Prevent an infinite loop when attempting to render portals with SSR.
- Warn if a class doesn't extend
React.Component
. - Fix an issue with
this.state
of different components getting mixed up. - Provide a better message when component type is undefined.
React Test Renderer
- Fix handling of fragments in
toTree()
. - Shallow renderer should assign state to
null
for components that don't set it. - Shallow renderer should filter legacy context according to
contextTypes
. - Add an unstable API for testing asynchronous rendering.
React Is (New)
- First release of the new package that libraries can use to detect different React node types.
- Add
ReactIs.isValidElementType()
to help higher-order components validate their inputs.
React Lifecycles Compat (New)
- First release of the new package to help library developers target multiple versions of React.
Create Subscription (New)
- First release of the new package to subscribe to external data sources safely for async rendering.
React Reconciler (Experimental)
- Expose
react-reconciler/persistent
for building renderers that use persistent data structures. - Pass host context to
finalizeInitialChildren()
. - Remove
useSyncScheduling
from the host config.
React Call Return (Experimental)
下载地址:https://github.com/facebook/react/releases/tag/v16.3.0