Итак, я делаю SQL запрос в моем бэкэнде узла / express и отправляю результат в мой интерфейс React через JSON. Я console.log, чтобы увидеть, какую информацию я посылаю, и это, кажется, в порядке. Тем не менее, я не могу понять, как установить этот массив объектов в мое состояние. Я получаю эту ошибку:
"Объекты недопустимы в качестве дочерних элементов React (найдено: объект с ключами {Title}). Если вы хотите отобразить коллекцию дочерних элементов, используйте вместо этого массив."
Вот компонент, с которым я работаю:
import React, { Component } from 'react'
export class ShoppingCart extends Component {
state = {
cartItems: ['Title 1']
};
displayCart = () => {
console.log('call it')
console.log('hello from displaycart');
fetch('http://localhost:5000/fillCart')
.then((res) => res.json())
.then((json) => {
this.setState(state => {
const cartItems = state.cartItems.concat(json.Title);
return {
cartItems
};
});
})
}
componentDidMount() {
this.displayCart();
}
render() {
return (
<div className="ShoppingCart">
<h3>This is your shopping cart</h3>
<ul>
{this.state.cartItems.map(item => (
<li key={item}>{item}</li>
))}
</ul>
</div>
)
}
}
export default ShoppingCart
Моя цель состоит в том, чтобы установить json .Title (прямо сейчас содержащий несколько заголовков) в массив cartItems State, который у меня есть в мое состояние, а затем отобразить каждый заголовок через render () в списке. Однако я застрял в том, как это сделать sh.
Кроме того, вот как выглядят данные json, которые я отправляю из бэкэнда Node / express:
[
RowDataPacket { Title: 'The Tragedy of The Korosko' },
RowDataPacket { Title: 'Two in the Far North' }
]
Чтобы уточнить, на данный момент моя проблема не в том, чтобы отобразить информацию, а в том, чтобы сначала установить ее в состояние. Любые предложения обязательно будут оценены! Я застрял на этом в течение нескольких дней. Заранее спасибо !!!