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