原文作者:Dan Abramov译者:UC 国际研发 Jothy欢迎你来到“UC国际技术”公众号,我们将为大家提供与客户端、服务端、算法、测试、数据、前端等相关的高质量技术文章,不限于原创与翻译。在之前的博文和演讲中,你可能已经听说过“Hooks”,“Suspense” 和 “Concurrent Rendering”等功能。在这篇文章中,我们将探讨如何将它们组合使用,并给出它们在 React 稳定版中的预计可用时间表。React新功能的发布计划如下:这些时间都是预估的,可能会随着我们的进展而发生变化。我们计划在 2019 年完成至少两个项目,它们仍需更多的探索,且与特定版本关联尚不明确。我们将在接下来几个月内给出一份更清晰的时间表。注意:这篇文章只是一份路线图,没有任何需要你立即关注的内容。每当有功能发布,我们都将发表完整的告知博文。React 16.6 发布了支持代码拆分的 Suspense 组件。Suspense 是一个新功能,它允许 React 在等待组件时“暂停”渲染,并显示加载标识。在 React 16.6 中,Suspense 只支持使用 React.lazy() 和懒加载组件的场景。我们计划在未来几个月内发布更多关于此功能的详细信息。代码拆分只是 Suspense 的第一步。我们对 Suspense 的长期愿景包括处理数据获取,并与像 Apollo 这样的库集成。除了方便的编程模型,Suspense 还提供了并发模式下更好的用户体验。你可以在下面找到相关主题的信息。React 16.7 将发布 Hooks 功能。Hooks 是一个功能,它允许你使用功能组件的状态和生命周期等功能,以及在不引入额外嵌套的情况下,在组件之间重用状态逻辑。你可以在 Hooks 的介绍和概述中开始学习,并观看相关演讲来了解它的介绍及深度探讨。FAQ 应该能解答你的大多数问题。要了解更多 Hooks 的设计动机,你可以阅读 “Making Sense of React Hooks” 这篇文章。自 9 月份以来,我们一直在 Facebook 上试用 Hooks。我们预计不会出现重大 bug。Hooks 仅适用于 React 16.7 alpha 版本。在最终的 16.7 版本中,部分 API 可能会有变化。React DOM 中的状态:第一个支持 Hooks 的 react 和 react-dom 的版本是 16.7.0-alpha.0。接下来的几个月里我们将发布更多的 alphas 版本。React DOM Server 中的状态:同样是 16.7 alpha 版本的 react-dom 完全支持 react-dom/server Hooks。React Native 中的状态:目前官方仍未支持 React Native Hooks。如果你爱探险,请查看原文链接获取非官方指引。已知 useEffect 会触发问题,但还没解决。并发模式在 React 16.8 版本中将发布。并发模式在不阻塞主线程的情况下渲染组件树,使 React 应用响应性更好。它允许在耗时的渲染(例如,渲染新的 feed story)时处理高优事件(例如,文本输入或悬停)。并发模式还能在高速连接时跳过不必要的加载状态,来改善 Suspense 的用户体验。目前并发模式还没有文档,但我们计划在接下来的几个月内发布更多关于此功能的详细信息。React 16.9 版本将支持数据获取的 Suspense 组件。在已经发布的 React 16.6 中,Suspense 唯一支持的场景是代码分割。在之后的 16.9 版本中,我们还希望提供官方支持的方法来将其用于数据获取。我们将在 React 16.9 版本前后编写 React Cache 的文档,并发布它的早期源代码。React DOM 和 React Native 中的状态:从技术上讲,兼容的缓存已经可以与 React 16.6 中的 Suspense 组件一起使用。但是,在 React 16.9 之前,可能不会有良好的缓存实现。其他项目现代 React DOM:我们开始调查 ReactDOM 的简化和现代化,目标是减小捆绑包大小并与浏览器行为更紧密地对齐。由于该项目处于探索阶段,现在说哪些具体要点将“成功”还为时尚早。我们将在这个问题上传达我们的进展。支持服务端渲染的 Suspense:我们在设计一个支持 Suspense 的新服务端渲染器,包括在服务器上等待异步数据而不进行双重渲染,逐步加载和保护页面内容以获得最佳用户体验。你可以在本次演讲中观看其早期原型的概述。新服务端渲染器将成为我们 2019 年的焦点。就是这些!我们希望这篇文章能让你了解我们正在做什么,你目前以及将来可以使用功能。虽然社媒上都讨论开了,但这篇博客能让你不错过任何重要内容。