在React中的componentDidMount之后,DOM没有及时准备好

时间:2018-04-17 21:01:56

标签: javascript reactjs dom

我在componentDidMount中的React中调用一个查询DOM的函数,但是即使我在componentDidMount之后调用它,DOM也不会及时呈现。

奇怪的是,在webpack中它一切正常,DOM被渲染并准备好我的querySelectorAll。然而,当建成它不是。我尝试了多种服务器类型,它总是一样的。

我最初的想法是缩小代码会以某种方式弄乱它。

我只需要运行一次该函数,这就是我将它放在组件中的原因是挂载

2 个答案:

答案 0 :(得分:1)

this answer中所述,componentDidMount在所有子组件都已安装之后,但在所有父组件都已安装之前被调用。

对我来说,它可以在setTimeout()内部使用componentDidMount(延迟为0毫秒)延迟代码。

答案 1 :(得分:0)

componentDidMount仅在任何组件的生命周期中调用一次,渲染不会重新初始化组件。 你有没有试过componentDidUpdate。组件更新时会发生这种情况。