小编Cur*_*s13的帖子

React ChartJS会阻止新数据在重绘后添加到状态中吗?

我正在尝试使用react-chartjs-2更新我的图表.我正在使用日期选择器来过滤不同的数据并相应地重新渲染图表,例如今天,昨天,过去7天等显示数据.数据是从我的数据库中提取的

但是,当图表被重新绘制并重新渲染时,它会被添加到我不想要的状态.我只想重新渲染请求重新渲染的新数据,并添加到图表中的旧数据中.

我之前使用vanilla JavaScript修复了这个问题,因为我没有使用反应我使用destroy()了图表文档说使用的方法,但我不确定如何使用它与反应?

因此,经过进一步检查,我的图表似乎正在重新渲染.但是,当它被重新渲染时,额外的数据被添加到我不想要的我的chartData状态,我只是想要请求的新数据显示在图表上.我还在努力想出那个部分.

这是我的代码我有很多,所以我只会显示相关的部分:

import React from "react";

import reportsService from "../../services/reportsService";
import update from "react-addons-update";
import moment from "moment";

import { Bar } from "react-chartjs-2";
import "chartjs-plugin-labels";
import "chartjs-plugin-datalabels";

class Reportspage extends React.Component {
  constructor(props) {
    super(props);

    this.state = {
      chartData: {
        labels: [],
        datasets: [
          {
            //label: "Quotes",
            data: [],
            backgroundColor: []
          }
        ]
      }
    };
  }

  chartColors() {
    let colors = [];
    for (let i = 0; i < 100; i++) …
Run Code Online (Sandbox Code Playgroud)

reactjs chart.js react-chartjs react-state-management

5
推荐指数
1
解决办法
209
查看次数