我正在尝试更新嵌套在另一个对象中的嵌套对象的状态(使用API数据),但是我似乎无法使其正常工作。它不断告诉我“数据集”是不确定的。
this.state = {
chartData:{
datasets: [
{
fill: false,
lineTension: 0.1,
dataToUpdate: []
}
]
}
}
componentDidMount() {
axios.get('https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&order=market_cap_desc&per_page=30&page=1&sparkline=true')
.then(res => {
const APIdata = res.data[0];
this.setState({
data: {
...this.state.data,
datasets: [{
...this.state.data.datasets[0],
dataToUpdate: APIdata,
}]
}
})
console.log(this.state.chartData.datasets[0].dataToUpdate);
})
}
答案 0 :(得分:1)
您可以像这样更新数据集变量中的对象
const { chartData } = this.state;
chartData.datasets.map((set) => {
set.fill = true;
});
this.setState({
chartData: chartData,
});