ChartJs / React如何在嵌套对象内更新嵌套对象的状态

时间:2019-07-05 10:48:49

标签: reactjs

我正在尝试更新嵌套在另一个对象中的嵌套对象的状态(使用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);
            })
    }

1 个答案:

答案 0 :(得分:1)

您可以像这样更新数据集变量中的对象

const { chartData } = this.state;
chartData.datasets.map((set) => {
  set.fill = true;
});
this.setState({
  chartData: chartData,
});