...
super(props)
this.state = {
cartAddedCount: 0,
itemNum: null,
itemAdded: []
}
...
cartAdd(e) {
let allItem = this.state.itemNum
let itemN = e.target.name !== null ? e.target.name.toString().split('_')[1] : null
let newItems = allItem !== null ? allItem + "," + itemN : itemN
this.setState((prevState) => {
return {
cartAddedCount: prevState.cartAddedCount + 1,
itemNum: newItems
}
})
console.log(this.state.itemNum)
}
generateProductList(pd) { //pd is an an array of objects
var prodList = []
var prodDLen = 5
for (var t = 0; t < prodDLen; t++) {
prodList.push(
<button name={"item_" + pd.productData[t].id} onClick={(e) => this.cartAdd(e)}>Buy Now</button>
)
}
return prodList
}
...
<SCart count={this.state.cartAddedCount} iNum={this.state.itemNum} openM={this.manageCartModal} />
为什么我第一次点击“立即购买”时,在我的父类状态下,cartAddedCount 为 0,itemNum 为空,第二次点击,cartAddedCount 为 1,itemNum 为 1
然而,SCart 在count
第一次点击时获得 1,在第二次点击时获得 2,依此类推。
我该如何解决这个问题?