Javascript 如何在Chart.js中调用destroy()方法?

Javascript 如何在Chart.js中调用destroy()方法?,javascript,reactjs,charts,chart.js,Javascript,Reactjs,Charts,Chart.js,当我在选项卡之间切换时,我需要绘制一个新的图表,但在此之前,我需要调用destroy()方法,否则它会显示以前图表中的数据此.displayChart().destroy()不起作用。在这里检查我的沙箱: 正在调用displayChart函数: componentDidUpdate(prevProps, prevState) { if (prevState.currentIndex !== this.state.currentIndex) { //this.displayC

当我在选项卡之间切换时,我需要绘制一个新的图表,但在此之前,我需要调用destroy()方法,否则它会显示以前图表中的数据<代码>此.displayChart().destroy()不起作用。在这里检查我的沙箱:

正在调用displayChart函数:

componentDidUpdate(prevProps, prevState) {
    if (prevState.currentIndex !== this.state.currentIndex) {

      //this.displayChart().destroy() <= here is the problem
      this.displayChart()
    }
  } 
componentDidUpdate(prevProps,prevState){
if(prevState.currentIndex!==this.state.currentIndex){

//this.displayChart().destroy()我没有发现问题。我试过沙盒,但我不确定你说的问题是否是当它悬停在图表的某个特定部分时,第一个图形被呈现出来的问题。@suguspnk你需要切换选项卡,然后悬停在图表上。它会显示以前的图表数据。经过一些调查后,我需要以某种方式销毁prev chart但是,我认为问题在于:this.setState({budgetData:response.data},()=>this.displayChart()).回调后有一个图表实例,您没有任何引用,因此如果我的理解正确,这就像内存泄漏一样。如果我错了,请随时纠正我。:)是的,我认为我看到的问题就是您指出的问题。我没有发现问题。我尝试了沙箱,但我不确定您所说的问题是否正确当它悬停在图表的某个特定部分时,第一个图形将被呈现。@sugussnk您需要切换选项卡,然后悬停在图表上。它将显示以前的图表数据。我需要以某种方式销毁以前的图表。无论如何,经过一些调查,我认为问题在于:this.setState({budgetData:response.data},()=>this.displayChart())。回调后有一个图表实例,您没有任何引用,因此如果我的理解正确,这就像内存泄漏。如果我错了,请随时纠正我。:)是的,我认为我看到的问题就是您指出的问题。
componentDidUpdate(prevProps, prevState) {
    if (prevState.currentIndex !== this.state.currentIndex) {

      //this.displayChart().destroy() <= here is the problem
      this.displayChart()
    }
  }