У меня странная ситуация, когда у меня есть массив в виде состояния: 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, но когда я отображаю элементы массива в ответ на функцию render (), он отображает все значения, которые были добавлены правильно. Как это возможно и как я могу это исправить?