【发布时间】:2017-01-27 17:35:19
【问题描述】:
我有一个组件可以呈现多达一千个元素的列表。
更新 DOM 需要 3/5 秒,我的意思是在组件事件 componentDidUpdate(在更改刷新到 DOM 后调用)之后,实际看到 DOM 更新需要 3/5 秒。
我想展示一个旋转的齿轮或其他东西,但我不知道如何,因为我不知道如何在 DOM 更新完成时收到通知。
有人知道吗?
【问题讨论】:
-
如果浏览器忙于执行 DOM 操作(或一般地评估 JS) - 微调器将不会动画。
-
对,我倾向于忘记那部分。尽管如此,正如@Andy-Ray 建议的那样,我可以展示一些东西,比如没有微调器的“请稍候”,并在 DOM 实际更新后将其删除,只要我有办法知道 DOM 何时最终更新。但我不知道怎么做。除非我做一些丑陋的事情,比如轮询/setTimeOut 来检查 DOM 是否发生了变化。