Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript chart.js更新不是一个函数_Javascript_Reactjs_Chart.js - Fatal编程技术网

Javascript chart.js更新不是一个函数

Javascript chart.js更新不是一个函数,javascript,reactjs,chart.js,Javascript,Reactjs,Chart.js,我正在尝试更新图表,但单击按钮时出现此错误。错误:pieChartData.update不是一个函数 const LatestSales = props => { const {pieChartData} = props; const toggle = () =>{ pieChartData.labels[0] = "teste" pieChartData.update() } return (

我正在尝试更新图表,但单击按钮时出现此错误。错误:pieChartData.update不是一个函数

const LatestSales = props => {
      const {pieChartData} = props;


     const toggle = () =>{
      pieChartData.labels[0] = "teste"

      pieChartData.update()
    }


      return (
            <>
                <button onClick={toggle}>toggle</button>
                <Doughnut
                  data={pieChartData}
                  options={pieChartOptions}
                />
            </>
      );
    };
const LatestSales=props=>{
const{pieChartData}=props;
常量切换=()=>{
pieChartData.labels[0]=“teste”
pieChartData.update()
}
返回(
切换
);
};

pieChartData的功能:{标签:数组(3),数据集:数组(1)}

您应该在父组件中定义一个用于设置饼图数据的道具。我取了它的名字:
setPieChartData

   const LatestSales = props => {
     const { setPieChartData, pieChartData} = props;

     const toggle = () =>{
        let $pieChartData = { ...pieChartData };
        $pieChartData.labels[0] = "teste"

        setPieChartData($pieChartData)
     }

     return (
        <>
           <button onClick={toggle}>toggle</button>
              <Doughnut
                 data={pieChartData}
                 options={pieChartOptions}
              />
        </>
     );
   };
const LatestSales=props=>{
const{setPieChartData,pieChartData}=props;
常量切换=()=>{
让$pieChartData={…pieChartData};
$pieChartData.labels[0]=“teste”
setPieChartData($pieChartData)
}
返回(
切换
);
};

什么是
pieChartData
以及它来自哪里?我猜您正在尝试对数组调用
.update
,这会抛出您得到的错误,因为数组没有
。update
方法是的,这是一个数组如果您删除行
pieChartData.update()
,您将不再有错误。您试图实现的行为是什么?我想在按下按钮时更改标签名称,我只是执行了文档中显示的操作,我假设
pieChartData
是父组件的状态。我认为最好的方法是实现一个函数,该函数可以更改父组件中
pieChartData
的状态。这样,当
pieChartData
发生变化时,
LatestSales
将在收到新道具后更新,并为您更新选项。