React 17
渐进升级
React 17 带来的渐进升级提供了一种新方案,渐进升级的支持就是一个应用可以同时由多个 React 版本。
新的事件模型
react 中所有的事件都是合成事件,实现的机制是在根节点上监听所有事件,经过 react 统一处理后发送到虚拟 DOM 节点上。
在 17 中,不需要再通过 Documnet 去监听事件,而是在组件树的根节点上去监听。
新的 JSX 编译机制
之前要在 react 组件内使用 JSX 必须使用 import 引入 react,在编译时 JSX 会被翻译成React.createElement
这样的 API。
而现在才用了新的编译机制,代码内不再需要引入 React。
Suspense:悬停渲染
挂起当前组件的渲染,直到异步操作完成。
React 组件是状态驱动的,当状态发生改变,整个组件树都会进行一次整体的刷新,React 会将所有的 DOM 变化一次性渲染道浏览器中,这在应用非常复杂的场景下,会成为一个潜在的性能瓶颈。
有了 Suspense,异步请求不在需要组件去触发。
Server Components:服务器端 React 组件
能够在组件级别实现服务器端的渲染,在一个前端页面中有些组件是客户端渲染,有些组件是服务器渲染。