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调用就可以

推荐问题