返回

React v17.0 新特性 —— 官方介绍翻译

前端

今天,我们正式发布了 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.statethis.props
  • 现在,React 会在控制台打印警告,如果你在使用受控组件时,同时设置了 valuedefaultValue
  • 现在,React 会在控制台打印警告,如果你在使用非受控组件时,同时设置了 valuedefaultValue
  • 现在,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 现在支持 useCallbackuseMemo。这两个 hook 可以让你对昂贵的函数进行缓存,从而提高应用程序的性能。
  • React 现在支持 useContext。这个 hook 可以让你在组件之间共享数据,而不需要传递 props。
  • React 现在支持 useEffect。这个 hook 可以让你在组件挂载、更新和卸载时执行副作用。
  • React 现在支持 useReducer。这个 hook 可以让你使用 reducer 管理组件的状态,从而简化状态管理。
  • React 现在支持 useRef。这个 hook 可以让你获取组件的引用,从而在组件之间共享数据。

5. 总结

React v17 是一个重大版本,它带来了许多新特性和改进。这些新特性和改进可以提高应用程序的性能、易用性和可靠性。我们鼓励您尝试 React v17 并提供您的反馈。