【发布时间】:2020-07-13 04:12:25
【问题描述】:
我正在尝试创建一个添加到购物车功能,该功能从页面获取产品并将属性添加到数组中。 我的函数是这样的
addToCart({ title, desc, price, image }) {
// This is what is returning undefined
this.setState((state) => ({
cart: [
...this.state.cart,
{
title,
desc,
price,
image,
},
],
}));
}
我的物品看起来像:
<Card key={title} style={{ width: '18rem'}}>
<Card.Img variant="top" src={imageUrl}width='10rem' height='180rem' />
<Card.Body>
<Card.Title>{title}</Card.Title>
<Card.Text>
{desc} <br />
{price}
</Card.Text>
<Button variant="primary" onClick={e => this.handleAddToCart(e, this.state.items)} >Add to cart</Button>
</Card.Body>
</Card>
我很困惑为什么要放置一个看起来像这样的数组
0:
desc: undefined
image: undefined
price: undefined
title: undefined
这是我在代码沙盒上的完整代码: https://codesandbox.io/s/unruffled-water-2rvjk?file=/src/App.js
提前感谢您抽出宝贵时间帮助我。
【问题讨论】:
-
函数的第一个参数是事件,要么从函数调用中删除事件,要么在定义中添加参数。
标签: javascript arrays reactjs state