将多个相同商品添加到非常简单的购物车元素时,增加商品数量时遇到麻烦

时间:2019-07-17 15:23:32

标签: javascript arrays reactjs

好,您好,所以我想增加已添加到购物车中的每个项目的数量。这也是我的第一篇文章,因此,如果您有如何更好地提出更多问题的技巧,将不胜感激。 (我确实在寻找相关问题,并搜索了各种资源,但无法确切找到特定问题所需的内容)

我有条件检查数量是否少于10,以便希望将数量增加到10,以查看是否可行。但是,它仅增加到2。它将数组记录到控制台,并显示该项目具有数量:单击一次,并增加到数量:第二次单击,增加到2。它没有超出范围,我可以单击4、5次,它始终是数量:2.不知道如何解决此问题?

DataModelManager

我希望this.state.cartItems的console.log每次单击该项目时都会增加数量字段,以及react组件的return()中购物车元素中显示的数量。

2 个答案:

答案 0 :(得分:0)

您忘记了if块中的setState

 for fifties in range(161):
      tens = 160 - fifties
      if 50*fifties + 10*tens == 1760:
           break

答案 1 :(得分:0)

您必须先收集更新的cartItem,然后再由更新的setState设置:

if(this.state.cartItems[sameItem].quantity < 10){

    let newCartItems = this.state.cartItems.map( (item,index)=>{
        if (index == sameItem) {
          item.quntity +=1;
          return item
        } else {
          return item;
        }
    });
    
    this.setState({cartItems:newCartItems});
 }