Javascript chart.js更新不是一个函数
我正在尝试更新图表,但单击按钮时出现此错误。错误:pieChartData.update不是一个函数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 (
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
将在收到新道具后更新,并为您更新选项。