reactjs - 如果组件已经在并发反应模式下挂起,是什么导致组件再次渲染?
问题描述
我正在检查 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 被解决,一旦解决,组件就会被渲染。
解决方案
由于抛出的 Promise,组件首先被挂起,并且 react 等待 promise 被解决,一旦解决,组件就会被渲染。
推荐阅读
- sql-server - 仅选定的后代
- php - MYSQL SET UPDATE table from a variable re-asked
- typescript - 比较 TypeScript 中的枚举值时出现“没有重叠”错误
- reactjs - 如何为 Material-UI SPA 的内容动态使用全屏高度?
- javascript - 通过 v-model 检测附加到字段的数据对象成员的变化
- neo4j - 与聚合和多个order by子句匹配后创建关系
- css - Fontawesome `fa-bars` 改变风格:宽度、细度、距离
- c - 为什么在我的回声程序产生的声音的开头和结尾处有咔哒声?
- swift - 如何将 Spine 动画集成到 SpriteKit 游戏中
- docker - 为什么 Docker COPY 对单个文件和目录的工作方式不同?