首页 > 解决方案 > 如何在反应中的真实 DOM 更新后运行回调

问题描述

我是新手,对在组件渲染到真实 DOM 后运行函数感兴趣。

似乎这componentDidUpdate()发生在render()钩子之后但实际 DOM 实际更新之前。这是有问题的,因为我试图在之后运行处理器密集型计算render(),这导致 DOM 更新延迟。

为清楚起见,这是我想要实现的目标:

  1. 用户单击组件。
  2. 触发更新状态的回调。
  3. render() 因状态更新而被触发
  4. 真实的 dom 已更新(在我的情况下更改样式属性)
  5. 然后只有在客户端收到新样式后,才会触发一个函数,该函数执行需要一些时间才能完成的计算——比如一到三秒。
  6. 计算完成,状态再次更新。
  7. 新的重新渲染
  8. 新的真实 DOM 更新。

在 React 中这样的事情可能吗?

标签: reactjs

解决方案


推荐阅读