Это довольно очевидно из вашего скриншота console.log. res.data
это массив, а не простой объект. Это должно быть console.log(res.data[0].title)
. То же самое для setState, вы должны map
поверх исходных данных:
this.setState({
data: res.data.map(item => {
return {
title: item.title,
startDate: new Date(item.startDate * 1000),
endDate: new Date(item.endDate * 1000),
};
})
});
Возможно, вы новичок в JS и одурачены typeof something === "object"
. Ну, массив в JS также является типом объекта.
const plainObj = { foo: "bar" };
const arrayObj = [1];
console.log(typeof plainObj); // > "object"
console.log(typeof arrayObj); // > "object"
Правильный способ сделать это, используйте Array.isArray()
console.log(Array.isArray(plainObj)); // > false
console.log(Array.isArray(arrayObj)); // > true