javascript - 当 React 中的状态发生变化时 HighCharts 不会更新

标签 javascript reactjs highcharts react-highcharts

我正在开发一个快速程序,该程序从 enzyme react 中获取数据并将其绘制成图表。我遇到了这个问题,如果我在 props 中将数据传递给它,我的 highcharts 组件将不会更新。我可以看到控制台中的状态数据正在发生变化,但我在图表上看不到任何内容。

图表组件:

class HighGraph extends Component {
  state = {
    title: {
      text: "My chart"
    },
    series: [
      {
        data: [1, 2, 3]
      }
    ]
  };

  componentDidMount() {
    let _this = this;

    _this.interval = setInterval(function() {
      console.log(_this.state.series[0].data);
      _this.state.series[0].data = _this.props.list;
    }, 2000);
  }

  componentWillUnmount() {
    clearInterval(this.interval);
  }

  render() {
    return (
      <div>
        <HighchartsReact highcharts={Highcharts} options={this.state} />
      </div>
    );
  }
}

export default HighGraph;

我传递 Prop 的方式:

    <div>
      <HighGraph list={this.state.graphdata} />
    </div>

传递的数组:

[0.003, 0.006, 0, 0, 0.003, 0.006, 0.006, 0, 0.003, 0.006, 0.003, 0.003, 0.006, 0.006, 0.006, 0.006, 0.006, 0.006, 0.003, 0, 0.003, 0.003, 0.006, 0.003, 0.003, 0.003, 0.006, 0.003, 0.01, 0.006, 0, 0.003, 0.003, 0.003, 0.003, 0.003, 0.006, 0.003, 0, 0.006, 0.006]

有什么想法吗?尽管控制台告诉我状态已更改,但我仍然在图表中看到 1,2,3

最佳答案

设置 updateArgs 对我有用,记录在 https://github.com/highcharts/highcharts-react#readme

<HighchartsReact
                    highcharts={Highcharts}
                    options={ALARM_COUNT_CHART}
                    updateArgs={[true]}
                  />

关于javascript - 当 React 中的状态发生变化时 HighCharts 不会更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54272467/

相关文章:

javascript - 如何使 div 部分在外部点击时关闭?

python - 来自 django 模型的数据未传递到 highcharts 图表

javascript - 测试失败时如何防止ava显示长对象

javascript - 单击子元素时 react 获取父元素的状态/数据

reactjs - 为什么 ComponentDidMount 中的异步工作会导致导航时出现视觉滞后,除非等待简单的超时?

javascript - 使用 React 渲染多个图表

javascript - 如何在 Highcharts 中设置最后一个点的位置

javascript - javascript array.unshift()显示错误结果

javascript - ng-route 的部分 View 与 ng-show/ng-hide 我应该使用哪一个?

javascript - 自定义HTML5音频控件不起作用