如何在React JS中更新多个状态

阿迪亚·库玛(Aditya Kumar)

我不确定问题的标题是否正确。我遇到了一些问题,我不知道如何解决。

在我的应用程序中,有购物车页面,有物品列表。每个项目都有一个字段数量,可以更新。我的问题是当我启动状态数量并从中增加和减少数量的两个功能时出现问题。但是问题是当我单击addQuantity时,它会同时更新所有产品数量。我最近几天一直想找出解决这个问题的办法。这是两个项目。

物品图片

这些是我的密码

CartContainer类扩展了React.Component {状态= {数量:1,};

componentDidMount(){this.props.getItemwegoToCart(); }

render(){

const addItem = () => {
  this.setState({
    quantity: this.state.quantity + 1,
  });
};

const removeItem = () => {
  this.setState({
    quantity: this.state.quantity - 1,
  });
};

Cart.js

return cartData.map((item,index)=> {return(

      <Grid item xs={4} container justify="space-around">
        <CartItemDetails
          quantity={quantity}
          addItem={addItem}
          removeItem={removeItem}
          addQty={addQuantity}
          subQty={subtractQuantity}
          cart={item}
        />
      </Grid>
    </Grid>
  </Grid>
);

CartItemDetail.js

return (
  <Grid container className="cart-item-details">

    <Grid xs={12} md={4}>
      {!this.props.team ? (
        <Grid className="counter" xs={12} container>
          <Grid container justify="center" alignItems="center" xs={4}>
            <button
              onClick={this.props.removeItem}
              className="decrement"
            ></button>
          </Grid>
          <Grid container justify="center" alignItems="center" xs={4}>
            <span>{this.props.quantity}</span>
          </Grid>
          <Grid container justify="center" alignItems="center" xs={4}>

            <button
              onClick={this.props.addItem}
              className="increment"
            ></button>
          </Grid>
        </Grid>
      ) : (
        ""
      )}

任何帮助都会很大,我真的很想解决这个问题。

Vipin yadav

像下面这样声明你的状态

state={
quantity:{}
}

使用产品ID或独特的东西作为数量的关键

const addItem = (id) => {
  this.setState({
    quantity: {
     ...this.state.quantity,
     [id]:this.state.quantity[id]+1
     }
  });
};

const removeItem = (id) => {
  this.setState({
    quantity: {
     ...this.state.quantity,
     [id]:this.state.quantity[id]-1
     }
  });
};
      <Grid item xs={4} container justify="space-around">
        <CartItemDetails
          quantity={this.state.quantity[id]||0}
          addItem={addItem}
          removeItem={removeItem}
          addQty={addQuantity}
          subQty={subtractQuantity}
          cart={item}
        />
      </Grid>
    </Grid>
  </Grid>
);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当状态在axios调用中更新时,如何在单元测试(React JS)中声明状态?

来自分类Dev

如何在react.js的回调中调用UseState钩子的状态更新器函数

来自分类Dev

如何在react-redux中更新存储状态?

来自分类Dev

React:如何在功能组件中强制状态更新?

来自分类Dev

如何在React中更新嵌套(对象值的对象)状态

来自分类Dev

如何在React中的axios中发送更新的状态?

来自分类Dev

无法在React.js中更新状态

来自分类Dev

React.js更新状态,其中涉及多个API端点

来自分类Dev

如何在React JS中渲染之前等待状态?

来自分类Dev

如何使用react hook react.js一次更新多个状态

来自分类Dev

使用useState更新React中多个复选框的状态

来自分类Dev

React js 状态更新

来自分类Dev

如何在React中显示状态数据?

来自分类Dev

如何在React中设置对象状态

来自分类Dev

如何在React.js中更新元标记?

来自分类Dev

在React中更新状态

来自分类Dev

在React JS中监控多个服务器状态

来自分类Dev

如何在React中过滤多个值

来自分类常见问题

如何在NgRx中推送或更新状态?

来自分类Dev

如何在Vuex中更新状态数组?

来自分类Dev

如何在反应中更新状态对象?

来自分类Dev

React.js中的getCurentPosition()不更新状态

来自分类Dev

在递归函数(react.js)中更新状态的正确方法

来自分类Dev

React.js 中的状态不会立即更新

来自分类Dev

在状态react js中存储和更新关联数组

来自分类Dev

React.js:如何使用React Hook更新状态数组中的值?

来自分类Dev

如何在React中更新数组中的状态变量?

来自分类Dev

这段代码如何更新React中的状态?

来自分类Dev

如何在React中更新数组的元素?

Related 相关文章

热门标签

归档