【发布时间】:2016-03-17 00:24:36
【问题描述】:
这是我在使用 React 时经常遇到的问题。 componentDidMount 方法保证在第一次渲染组件时被触发,因此它似乎是一个自然的地方来进行 DOM 测量,如高度和偏移量。
但是,在组件生命周期的这个阶段,我多次收到错误的样式读数。当我与调试器中断时,组件 is 在 DOM 中,但尚未在屏幕上绘制。对于宽度/高度设置为 100% 的元素,我遇到了这个问题。
当我在 componentDidUpdate 中进行测量时 - 一切正常,但此方法不会在组件的初始渲染时触发。
所以我的问题是 - componentDidMount 究竟是什么时候被触发的,因为在所有浏览器绘制完成后它显然没有被触发。
编辑: This Stackoverflow issue 处理相同的主题:
它还引用了 this github conversation 来解释发生了什么
【问题讨论】: