如何在数据集中设置值对象的状态。我尝试通过以下方法设置状态,但出现了错误。
this.setState({ datasets: { ...this.state.datasets, value: labels} });
//状态码
this.state = {
labels: ['January', 'February', 'March',
'April', 'May'],
datasets: [
{
label: 'Rainfall',
backgroundColor: 'rgba(75,192,192,1)',
borderColor: 'rgba(0,0,0,1)',
borderWidth: 2,
value: [65, 59, 80, 81, 56],
}
]
}
答案 0 :(得分:0)
在您的状态下,数据集是一个数组。但是,在setstate调用中,您正在将其分解为一个对象。您应该这样做才能使其正常工作:
this.setState({ datasets: [ {...this.state.datasets[0], value: labels }] });
答案 1 :(得分:-1)
不确定我对您要执行的操作是否完全清楚,但我认为问题是state.datasets是对象数组,并且您未在该数组中处理特定元素。您可能需要尝试以下方法:
this.setState( state => {
let newData = state.datasets[0]
newData.value = labels
return newData
}