Javascript 无法在React Redux中使用VictoryBar绘制条形图

Javascript 无法在React Redux中使用VictoryBar绘制条形图,javascript,reactjs,redux,react-redux,Javascript,Reactjs,Redux,React Redux,我无法使用Victory库中的VictoryBar为React组件绘制条形图。我正在使用数据库中的数据,使用Redux和axios中间件将数据带到前端 负载正在得到更新,但是React组件的状态只会变得更大。来自1个国家的数据给出了一个对象数组=26。当我再次单击一个按钮时,它将对象连接到一个对象数组中。这会使图形倾斜,因为它不会刷新数据 更新了代码,可以正常工作,但是每次单击Plot Graph时,我都会对数组进行变异,并使用splice,这不是在屏幕上呈现新数据的正确方法。我希望以正确的方

我无法使用Victory库中的VictoryBar为React组件绘制条形图。我正在使用数据库中的数据,使用Redux和axios中间件将数据带到前端

负载正在得到更新,但是React组件的状态只会变得更大。来自1个国家的数据给出了一个对象数组=26。当我再次单击一个按钮时,它将对象连接到一个对象数组中。这会使图形倾斜,因为它不会刷新数据


更新了代码,可以正常工作,但是每次单击Plot Graph时,我都会对数组进行变异,并使用splice,这不是在屏幕上呈现新数据的正确方法。我希望以正确的方式实现这一点,但我不知道如何实现

    processingData() {
      var processWaterData = []

      for (var i = 0; i < this.props.waterData.length; i++) {
        processWaterData.push({x: this.props.waterData[i].year, y: this.props.waterData[i].value });
      }

      this.setState({ processed: processWaterData}, function() {
        // console.log("processed info after: ", this.props.waterData);
        if (this.props.waterData.length > 1) {
          // console.log("Length of the waterData:", this.props.waterData.length);
          this.props.waterData.splice(0, this.props.waterData.length);
        }
      });
    }
处理数据(){
var processWaterData=[]
对于(var i=0;i1){
//log(“waterData的长度:”,this.props.waterData.Length);
this.props.waterData.splice(0,this.props.waterData.length);
}
});
}

看起来像一个简单的打字错误:

// return processWaterData;
    this.setState({ processed: processed}, function() {
应该是:

// return processWaterData;
    this.setState({ processed: processWaterData}, function() {

我仍然希望在两个不同的组件之间交换数据。如果通过单击countryId更新
this.props.waterData
中的信息,则当前应用程序的状态(带有props
waterData
的应用程序)不断变大,是否有办法清除以前的信息,然后在胜利图表上呈现新信息?我还展示了一个互动的地球仪。当你点击国家,然后点击过程,它应该显示国家统计数据使用胜利酒吧图。你绝对不应该拼接你的道具。道具是不可变的,组件本身不应更改道具。您应该只传递来自父组件的新道具。
// return processWaterData;
    this.setState({ processed: processed}, function() {
// return processWaterData;
    this.setState({ processed: processWaterData}, function() {