【问题标题】:Increment button using map method in react在反应中使用地图方法增加按钮
【发布时间】:2021-01-25 22:14:04
【问题描述】:

下面是增加按钮的代码。但是我在增量函数中面临增加值的问题。

const [items, setItems] = useState([
        {itemName:'item1', quantity:2, isSelected:false},
        {itemName:'item2', quantity:5, isSelected:false},
        {itemName:'item3', quantity:7, isSelected:false}
    ]);

    const increment = (index) => {
        setItems([...items, 
            index.quantity++
        ])  }

<button onClick={() => increment(index)}>increment</button>

【问题讨论】:

    标签: reactjs react-hooks increment


    【解决方案1】:

    您正在向 items 数组添加一个项目,而不是编辑所需的项目,请记住,您还应该不可变地对待状态:

    const increment = (index) => {
      setItems((items) => {
        const prevItem = items[index];
        return Object.assign([], items, {
          [index]: { ...prevItem, quantity: prevItem.quantity + 1 },
        });
      });
    };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-05
      • 2021-04-26
      • 1970-01-01
      • 2020-04-02
      • 2015-05-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多