React \xe2\x80\x94 Suspense 组件中有一个新的很酷的功能。目前它只正式支持使用 React.lazy 函数创建的组件。但非官方众所周知,内部 Suspense 组件是通过在渲染树中更深入地抛出一个承诺来触发的,并且有一些库已经采用了这种技术来带来新的很酷的开发人员体验,例如:
\n\n还有一个使用它的核心反应包react-cache(当然是非官方的)。
\n\n考虑到这一切,我有点困惑,因为 React 文档中没有提到抛出 Promise(换句话说,是什么触发了 Suspense 组件),但同时有很多讨论和库使用它。在 Twitter 讨论中,dan abramov回答说API 可能会发生变化。但情况仍然令人困惑。
\n\n所以问题是:在生产中开始使用这种技术是否安全?如果没有,那么我如何使用已经采用它的库(甚至基于 facebook 的)?最后,如果 API(抛出 Promise)是将来要更改的主题,我可以保证这只是我自己的实现中需要采用的微小更改吗?
\n\n谢谢各位!
\n\n更新
\n\n根据这些问题(一、二),他们似乎仍然不确定未来的 API。他们很可能会提供一个公共 API(可能他们指的是反应缓存或更通用的东西),这本质上只是抛出 Promise 机制的包装。
\n