React中有一个新的酷炫功能——Suspense组件。目前官方只支持使用React.lazy函数创建的组件。但是非官方地,众所周知,Suspense组件是通过在渲染树深处抛出promise来触发的,并且已经有一些库采用了这种技术,以带来新的酷炫开发者体验,例如:
- react-i18next - react-relay - react-query 此外,还有一个核心的React包react-cache也在使用它(当然是非官方的)。
考虑到所有这些,我有点困惑,因为在React文档中没有任何提到抛出promises(换句话说是什么触发了Suspense组件),但同时也有很多讨论和使用它的库。在Twitter讨论中,dan abramov回复说API可能会更改。但情况仍然令人困惑。
所以问题是:现在在生产环境中使用这种技术是否安全?如果不安全,那么我该如何使用已经采用它的库(甚至是基于Facebook的)?最后,如果API(抛出Promise)将来会发生变化,我能否确信只需要在自己的实现中进行微小的更改?
谢谢大家!
更新
根据这些问题(one,two),似乎他们仍然不确定未来的API。很可能他们会提供一个公共API(可能是react-cache或更一般的东西),它本质上只是一个围绕着抛出Promise机制的包装器。
- react-i18next - react-relay - react-query 此外,还有一个核心的React包react-cache也在使用它(当然是非官方的)。
考虑到所有这些,我有点困惑,因为在React文档中没有任何提到抛出promises(换句话说是什么触发了Suspense组件),但同时也有很多讨论和使用它的库。在Twitter讨论中,dan abramov回复说API可能会更改。但情况仍然令人困惑。
所以问题是:现在在生产环境中使用这种技术是否安全?如果不安全,那么我该如何使用已经采用它的库(甚至是基于Facebook的)?最后,如果API(抛出Promise)将来会发生变化,我能否确信只需要在自己的实现中进行微小的更改?
谢谢大家!
更新
根据这些问题(one,two),似乎他们仍然不确定未来的API。很可能他们会提供一个公共API(可能是react-cache或更一般的东西),它本质上只是一个围绕着抛出Promise机制的包装器。