Reactjs 已解决:系列数组更改后不呈现React apex图表

Reactjs 已解决:系列数组更改后不呈现React apex图表,reactjs,charts,apexcharts,Reactjs,Charts,Apexcharts,你会在这篇文章中找到答案 我是react的新手,我使用了apexcharts,它工作得非常好,但是当我不得不在同一个项目的其他组件中使用这个图表组件时。这就是我在图表中遇到问题的地方。当序列发生变化时,我的图表中突然有一个开始不再更新。我花了一周的时间来找出问题所在,我想我可以在这里分享它,这样一些人可以更早地找到这个解决方案 所以我发现了两件事 react apexcharts只是apexcharts的包装器,每个图表都应该有一个您在选项中定义的唯一图表id。因此,如果您想在多个位置使用组件,

你会在这篇文章中找到答案

我是react的新手,我使用了apexcharts,它工作得非常好,但是当我不得不在同一个项目的其他组件中使用这个图表组件时。这就是我在图表中遇到问题的地方。当序列发生变化时,我的图表中突然有一个开始不再更新。我花了一周的时间来找出问题所在,我想我可以在这里分享它,这样一些人可以更早地找到这个解决方案

所以我发现了两件事

  • react apexcharts只是apexcharts的包装器,每个图表都应该有一个您在选项中定义的唯一图表id。因此,如果您想在多个位置使用组件,最好在道具中接收图表ID并将其设置为
  • 我们可以调用一个方法来呈现图表或覆盖图表的系列数组,方法是使用componentDidMount()useffect()中的全局apexcharts方法
  • 我们还可以从apexcharts使用其他许多有用的方法,如本文所述:

    我希望有人觉得它有帮助

    多谢各位

    ...
    this.state = {
          options:  {
            chart: {
              id: props.chartId,
    ...
    
    import apexchart from "apexcharts";
    ...
      componentDidUpdate(){
        const {chartId, seriesData} = this.props;
        //here it overrides the chart series with seriesData from props
        apexchart.exec(chartId,'updateSeries', seriesData);
      };
    ...