Suspense 兼容性
Suspense 如何?
Relay Hooks 使用 React Suspense 来指定加载状态,所以你可能想知道:为什么在数据获取的 Suspense 仍然不支持的情况下,Relay Hooks 会使用 Suspense?这意味着 React 17 中现在正式支持数据获取的 Suspense 吗?
数据获取的 Suspense 准备好了吗?
简短的回答是:**不**。
**对数据获取的 Suspense 的支持、一般性指导和使用要求尚未准备好**,React 团队仍在定义未来 React 版本中这些指导将是什么。
话虽如此,即使在数据获取的 Suspense 能够广泛实施和采用之前,我们仍有一些事情需要弄清楚,但我们还是在 React 17 上发布了 Relay Hooks,原因有几个。
- Relay 是 Suspense 的早期采用者之一,并与 React 共同研究数据获取的 Suspense。它是使用 Suspense 进行生产环境测试的第一个测试场之一,并帮助为一些设计决策提供了信息。因此,我们的 Suspense *实现* 中仍然存在一些反映这些早期经验的部分(尚未完全记录),这些部分还没有达到我们想要的状态。虽然我们知道实现中可能仍然需要进行一些更改,并且在 React 17 中使用 Suspense 时会有一些限制,但我们知道 Relay Hooks 正在朝着未来 React 版本的正确方向发展,这些更改可以简化并使我们能够更早地发布 Relay Hooks。
- Relay Hooks API 代表了我们希望为 Relay 长期提供的 API,我们认为这些 API 比我们以前的 API 有所改进。尽管它们的底层实现仍在变化,并且随着 React 团队记录和最终确定数据获取的 Suspense 指导,可能会发生更多变化,但 Relay Hooks API 本身是稳定的。它们已在 Facebook 内部广泛采用,并在生产环境中使用了一年以上,因此我们确信它们有效。我们希望让社区开始采用它们,并能够从社区获得外部反馈。
如果我在 React 17 中开始使用 Relay Hooks,对我来说意味着什么?
这对采用 Relay Hooks 的用户来说意味着什么?
- 在 React 17 中使用 Suspense 时会有一些限制,我们在我们的文档中记录了这些限制。具体来说,当前版本包含一个与同步渲染和并发渲染都兼容的功能子集。为了完全支持数据获取的 Suspense,我们还需要一些功能,例如并发渲染挂起的树,以及在重新获取数据时过渡到新的树。我们目前发布的 API 将使我们能够在未来版本的 React 中使用相同的 API 支持并发渲染。
- 当发布一个完全支持并发渲染和数据获取的 Suspense 的未来版本的 React 时,Relay 也将在 React 版本旁边发布一个新的主要版本。该版本可能会包含一些我们将在升级时记录的重大变更。
此页面是否有用?
通过以下方式帮助我们改进网站: 回答几个简单的问题.