React中 ,开设定时器,偶现ref 获取不到

新手上路,请多包涵

React中 ,通过ref绑定使用echarts ,该部分需使用定时器 隔断时间重新渲染数据,偶尔会出现这个ref 获取不到

相关代码

  componentWillReceiveProps(nextProps){
  ... //由于定时器配置的时间从父组件传值过来 componentDidMount 获取不到 所以放在这里 
     this.interval = setInterval(() => {
             this.initchart()
     },time)
  }
initchart(xzqh){
  console.log(this.chart)   //定时器开启一段时间后 偶尔会出现  this.chart 获取不到     
}
  render(){
  //ref绑定的dom
 <div ref={(c) => this.policeRondEhart = c} style={{ width: '100%', height: '100%' }}></div>
}

个人疑惑是点 是因为当组件state变化时 组件render函数会重新渲染 会导致 ref获取不到吗 ???

阅读 2k
1 个回答
新手上路,请多包涵

setInterval 里面的this指向window ,需要再setInterval 外面 let vm = this,用vm调用就可以

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题