繁体   English   中英

在React组件安装到DOM后触发了任何事件吗?

[英]Any event triggered after React component mounted in DOM?

如果我尝试做document.querySelector为内做出反应组件内部的元素componentDidMount ,现在看来似乎并不保证它( componentDidMount )其对DOM之后被调用。 结果是找不到元素

如果要访问DOM,是否应该使用某个事件代替? 将其附加到DOM之后?

解决方法是,我使用setTimeout有更好的方法吗?

另一种方法是在您的componentDidMount方法中设置一些状态更改。 它会在组件上进行更新,并以绝对安装状态再次调用render方法。

像这样:

componentDidMount(){
  this.setState({
    isMounted: true
  })
}

componentWillUpdate(nextProps, nextState){
  if(nextState.isMounted){
     // do something for your query selecting
  }
}

componentWillUnmount(){
  // do something else if you want
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM