【发布时间】:2020-05-04 14:27:10
【问题描述】:
React 中有一个很酷的新特性——Suspense 组件。目前它只官方支持使用 React.lazy 函数创建的组件。但非正式地众所周知,Suspense 组件内部是通过在渲染树中更深层次地抛出一个 Promise 来触发的,并且有一些库已经采用了这种技术来带来一种新的酷开发体验,例如:
还有一个核心反应包react-cache 使用它(当然是非官方的)。
考虑到这一切,我有点困惑,因为 React Docs 中没有提到任何关于抛出 Promise 的内容(换句话说,是什么触发了 Suspense 组件),但同时有很多谈话和库使用它。在推特讨论中dan abramov 回复说the API will likely change。但情况仍然令人困惑。
所以问题是:在生产中开始使用这种技术是否安全?如果没有,那么我如何使用已经采用它的库(甚至基于 facebook)?最后,如果 API(抛出 Promise)是将来要更改的主题,我可以确定这只是我需要在自己的实现中采用的微小更改吗?
谢谢各位!
更新
根据这些问题(one、two),他们似乎仍然不确定未来的 API。他们很可能会提供一个公共 API(可能他们的意思是 react-cache 或更通用的东西),它本质上只是一个抛出 Promise 机制的包装。
【问题讨论】:
标签: javascript reactjs promise react-suspense