我在componentDidMount中的React中调用一个查询DOM的函数,但是即使我在componentDidMount之后调用它,DOM也不会及时呈现。
奇怪的是,在webpack中它一切正常,DOM被渲染并准备好我的querySelectorAll。然而,当建成它不是。我尝试了多种服务器类型,它总是一样的。
我最初的想法是缩小代码会以某种方式弄乱它。
我只需要运行一次该函数,这就是我将它放在组件中的原因是挂载
答案 0 :(得分:1)
如this answer中所述,componentDidMount
在所有子组件都已安装之后,但在所有父组件都已安装之前被调用。
对我来说,它可以在setTimeout()
内部使用componentDidMount
(延迟为0毫秒)延迟代码。
答案 1 :(得分:0)
componentDidMount
仅在任何组件的生命周期中调用一次,渲染不会重新初始化组件。
你有没有试过componentDidUpdate
。组件更新时会发生这种情况。