我正在检查 react docs 中的新并发模式并遇到了这个例子。
<Suspense fallback={<h1>Loading profile...</h1>}>
<ProfileDetails />
</Suspense>
如果我们试图加载的数据还没有准备好,组件就会被挂起。
function ProfileDetails() {
// Try to read user info, although it might not have loaded yet
const user = resource.user.read();
return <h1>{user.name}</h1>;
}
一旦加载数据,组件 ProfileDetails 就会被渲染。
加载数据时导致 ProfileDetails 组件重新呈现的原因。React 是否在挂起状态下不断尝试渲染组件?完整的例子可以在链接中找到
编辑:由于抛出的 Promise,组件首先被挂起,并且 react 等待 promise 被解决,一旦解决,组件就会被渲染。