我有一个奇怪的情况,我有一个数组作为状态:
this.state = { ActivityItem: []}
我正在从调用这样的 API 的库中向它推送值:
getDataFromKit(dateFrom) {
Kit.getSamples(stepCountSample, (err, results) => { //api call
if (err) {
return;
}
const newData = results.map(item => { return { ...item, name: 'itemAmount' } });
this.setState({ d: [...this.state.ActivityItem, ...newData] })
})
然后,我从 ComponentDidMount() 调用此方法以加载要加载的数组
componentDidMount() {
this.getDataFromHealthKit(ONEDAYINTERVAL);
console.log("values are", this.state.ActivityItem)
}
现在,最奇怪的部分:不知何故,ComponentDidMount 中的数组是空的,但是当我显示 Array 的元素以返回 render() 函数时,它会显示所有正确添加的值。这怎么可能,我该如何解决?