javascript - 如何在 react-chartjs-2 中更新图表?

标签 javascript reactjs react-chartjs

我调用了 update() 函数,但它不起作用。

TypeError: line.update is not a function.

为什么 update() 不是函数?

我在 http://jsfiddle.net/zpnx8ppb/26/ 上看过这个例子更新功能起作用的地方

这是我的代码:

import React, { Component } from 'react';
import { Line } from 'react-chartjs-2';
import Chart from 'chart.js';

const line = {
    labels: [],
    datasets: [
       {
          label: 'My First dataset',
          fill: false,
          data: []
       }
    ]
};

setInterval(function(){
    line.labels.push(Math.floor(Math.random() * 100));
    line.datasets[0].data.push(Math.floor(Math.random() * 100));
    line.update();
}, 5000);

class LineChart extends Component {
    render() {
        return (
            <div className="chart">
                <Line
                    data={this.state}
                    height={5}
                    width={20}
                />
            </div>          
        )
    }
}

export default LineChart;

最佳答案

所以根据https://www.npmjs.com/package/react-chartjs-2

可以使用诸如

之类的引用来访问图表引用
chartReference = {};

componentDidMount() {
  console.log(this.chartReference); // returns a Chart.js instance reference
}

render() {
  return (<Doughnut ref={(reference) => this.chartReference = reference } data={data} />)
}

所以您可以做的是在您的图表中放置一个引用,并在您喜欢的任何地方访问它。

<Line
     data={this.state}
     height={5}
     width={20}
     ref = {(reference) => this.reference = reference}
/>

在您希望导致更新的方法中,您可以访问此引用及其 chartInstance 并调用此实例的更新函数。

let lineChart = this.reference.chartInstance
lineChart.update();

关于javascript - 如何在 react-chartjs-2 中更新图表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46053257/

相关文章:

javascript - 在 JSON 中有条件地使用 javascript 变量

javascript - React Native 中的 Flex header 布局

javascript - 在扩展现代 Javascript 项目时,对象数量与有效负载哪个更重要?

javascript - 为什么redux排序会出错?

javascript - Chart.js 删除第一条垂直线

reactjs - 悬停在图表上时 react-chartjs-2 垂直线

javascript - 如何将 Json 数据传递到 JavaScript 数组中?

javascript - 如何在此 JavaScript 中放置循环?

Django 中需要为特定元素而不是整个页面重新加载 JavaScript 函数

reactjs - y 轴上的 react-chart-js-2 个单位