返回
React v17.0 新特性 —— 官方介绍翻译
前端
2023-10-04 01:34:21
今天,我们正式发布了 React 17 版本。之前我们已经在 the React 17 RC 博客文章中详细地了 React v17 的地位和其中相对与之前版本的改变。这篇文章是对于这个 post简单的摘要,所以如果你已经阅读过了 RC 这篇文章,就可以跳过当前这篇。
1. 更加易用和可靠
- React 的安装更加便捷,在创建项目的时候可以使用
npx create-react-app
,而不必依赖于 create-react-app 这个全局工具。 - 支持了
null
传递给布尔属性,即如果想传递false
值给一个布尔属性,只需将它设置为null
,而不需要明确地传递false
。 - 当组件 prop 为
undefined
时,现在 React 将会打印一条警告。这有助于及早发现错误,避免不必要的调试。 - 对于
key
属性进行了更严格的类型检查,有助于减少错误。 - 在 development 模式下,现在在函数组件中使用
this
会导致一个错误,这有助于避免不必要的错误。 - React 现在会在控制台打印警告,如果你在错误的 DOM 节点上使用
ref
。 - 现在,React 会在控制台打印警告,如果你在函数组件中使用
this.state
或this.props
。 - 现在,React 会在控制台打印警告,如果你在使用受控组件时,同时设置了
value
和defaultValue
。 - 现在,React 会在控制台打印警告,如果你在使用非受控组件时,同时设置了
value
和defaultValue
。 - 现在,React 会在控制台打印警告,如果你在使用非受控组件时,设置了
defaultValue
。
2. 更好的开发者体验
- React DevTools 现在支持 Concurrent 模式。这使得调试 Concurrent 模式下的应用程序更加容易。
- React DevTools 现在支持 Profiler。这使得分析应用程序的性能更加容易。
- React DevTools 现在支持对组件的自定义标签。这使得在 DevTools 中更容易找到和识别组件。
- React DevTools 现在支持对组件的注释。这使得在 DevTools 中记录组件的用途更加容易。
- React DevTools 现在支持对组件的搜索。这使得在 DevTools 中快速找到组件更加容易。
- React DevTools 现在支持对组件的过滤。这使得在 DevTools 中只显示感兴趣的组件更加容易。
- React DevTools 现在支持对组件的排序。这使得在 DevTools 中以不同的方式组织组件更加容易。
- React DevTools 现在支持对组件的导出。这使得将组件导出为代码或图像更加容易。
3. 更好的性能
- React 现在支持 Concurrent 模式。这可以提高应用程序的性能和响应速度。
- React 现在支持 Suspense。这可以让你在数据加载时显示占位符,从而提高应用程序的性能和用户体验。
- React 现在支持 Server-side Rendering。这可以提高应用程序的性能和初始加载速度。
- React 现在支持 Concurrent Rendering。这可以提高应用程序的性能和响应速度。
- React 现在支持 Streaming Server-side Rendering。这可以提高应用程序的性能和初始加载速度。
4. 更多的新特性
- React 现在支持
useCallback
和useMemo
。这两个 hook 可以让你对昂贵的函数进行缓存,从而提高应用程序的性能。 - React 现在支持
useContext
。这个 hook 可以让你在组件之间共享数据,而不需要传递 props。 - React 现在支持
useEffect
。这个 hook 可以让你在组件挂载、更新和卸载时执行副作用。 - React 现在支持
useReducer
。这个 hook 可以让你使用 reducer 管理组件的状态,从而简化状态管理。 - React 现在支持
useRef
。这个 hook 可以让你获取组件的引用,从而在组件之间共享数据。
5. 总结
React v17 是一个重大版本,它带来了许多新特性和改进。这些新特性和改进可以提高应用程序的性能、易用性和可靠性。我们鼓励您尝试 React v17 并提供您的反馈。