我完全确定数组orders
中包含元素(已通过console.log
和内部renderOrders
函数进行检查),但我仍然无法显示它们。这是我发送订单时发生的情况:
sendOrder() {
let order = this.state.cartItems;
let _orders = this.state.orders;
_orders.push(order);
this.setState({
itemToAdd: null,
cartItems: {},
orders: _orders
});
}
这是呈现订单的功能:
renderOrders() {
this.state.orders.map((item, i) => {
return (
<li className="list-group-item" key={i}>
{
Object.keys(item).map((obj, i) => {
return <p>{item[obj].name} {item[obj].amount} {item[obj].price}</p>
})
}
</li>
)
})
}
这是应该加载的部分:
<div className="col">
<ul className="list-group">
{
this.renderOrders()
}
</ul>
</div>
我想我在renderOrders
函数中做的不正确。每个订单都采用以下格式:
"item1_id": {
name: "",
amount: "",
price: ""
},
"item2_id": {
...
}