这是我在使用 React 时反复出现的问题。该componentDidMount
方法保证在第一次渲染组件时被触发,因此它似乎是进行 DOM 测量(如高度和偏移)的自然场所。但是,在组件生命周期的这个阶段,我多次收到错误的样式读数。该组件在DOM 中,当我与调试器中断时,它还没有在屏幕上绘制。对于宽度/高度设置为 100% 的元素,我遇到了这个问题。当我进行测量时componentDidUpdate
- 一切正常,但此方法不会在组件的初始渲染时触发。
所以我的问题是 - 什么时候被componentDidMount
触发,因为在所有浏览器绘制完成后它显然没有被触发。
编辑: 这个 Stackoverflow 问题涉及相同的主题:
它还引用了这个解释发生了什么的github 对话