究竟何时触发componentDidMount?
这是我在React中经常遇到的问题。componentDidMount
保证在首次渲染组件时会触发该方法,因此似乎很自然地进行高度和偏移之类的DOM测量。但是,在组件生命周期的这一点上,很多时候我收到错误的样式读数。该组件
在DOM,当我与调试器打破,但它尚未在屏幕上绘制。我将宽度/高度大部分设置为100%的元素遇到了这个问题。当我进行测量时componentDidUpdate
-一切正常,但是此方法在组件的初始渲染时不会触发。
所以我的问题是-何时确切componentDidMount
触发,因为在完成所有浏览器绘制后显然不会触发。
处理相同的主题:
它还引用了这个github对话,解释了会发生什么
回答:
在componentDidMount()
所有子组件都已安装之后,将在反应组件树内部触发。这意味着, 组件 componentDidMount()
会触发任何组件。
因此,如果您想测量DOM的位置和大小等,使用componentDidMount()
子组件是不安全的时间/地点。
你的情况:由100%的宽度/高度的组件得到准确的读数,安全服用这种测量的地方是里面componentDidMount()
的的
反应成分。
100%是相对于父级/容器的宽度/高度。因此,也只能在安装了父级后才能进行测量。
以上是 究竟何时触发componentDidMount? 的全部内容, 来源链接: utcz.com/qa/429874.html