究竟何时触发componentDidMount?

这是我在React中经常遇到的问题。componentDidMount保证在首次渲染组件时会触发该方法,因此似乎很自然地进行高度和偏移之类的DOM测量。但是,在组件生命周期的这一点上,很多时候我收到错误的样式读数。该组件

在DOM,当我与调试器打破,但它尚未在屏幕上绘制。我将宽度/高度大部分设置为100%的元素遇到了这个问题。当我进行测量时componentDidUpdate-一切正常,但是此方法在组件的初始渲染时不会触发。

所以我的问题是-何时确切componentDidMount触发,因为在完成所有浏览器绘制后显然不会触发。

处理相同的主题:

它还引用了这个github对话,解释了会发生什么

回答:

componentDidMount()所有子组件都已安装之后,将在反应组件树内部触发。这意味着, 组件 componentDidMount()会触发任何组件。

因此,如果您想测量DOM的位置和大小等,使用componentDidMount()子组件是不安全的时间/地点。

你的情况:由100%的宽度/高度的组件得到准确的读数,安全服用这种测量的地方是里面componentDidMount()的的

反应成分。

100%是相对于父级/容器的宽度/高度。因此,也只能在安装了父级后才能进行测量。

以上是 究竟何时触发componentDidMount? 的全部内容, 来源链接: utcz.com/qa/429874.html

回到顶部