当前位置: 首页 > 知识库问答 >
问题:

++将值增加2而不是1

狄飞鹏
2023-03-14
export default (state, action) => {
    switch (action.type) {
        case 'ADD_PRODUCT':
            return {
                ...state,
                products: [action.payload, ...state.products]
            }
        case 'DELETE_PRODUCT':
            return {
                ...state,
                products: state.products.filter(product => product.id !== action.payload)
            }
        case 'ADD_TO_CART': if (state.cart.some(cartItem => cartItem.id === action.payload.id)) {
            const updatedItemIndex = state.cart.findIndex(cartItem => cartItem.id === action.payload.id)
            let cartItems = [...state.cart]
            let itemToUpdate = cartItems[updatedItemIndex]
            itemToUpdate.quantity++
            return { ...state, cart: cartItems }

        } else {
            const newItem = { ...action.payload, quantity: 1 }
            return { ...state, cart: [...state.cart, newItem] }
        }
        default:
            return state
    }
}
function addToCart(product) {
    dispatch({
        type: 'ADD_TO_CART',
        payload: product
    })
}

导出const ProductCard=({product})=>{const{deleteProduct,addToCart}=useContext(ProductContext)

const handleDelete = () => {
    deleteProduct(product.id)
}

const handleCart = () => {
    addToCart(product)
}


return (
    <div className='product__card'>
        <h3>{product.productName}</h3>
        <p>{product.price}</p>
        <button className='button'>View Product</button>
        <button onClick={handleCart} className='button'>Add to Cart</button>
        <button onClick={handleDelete} className='button'>Delete</button>
    </div>
)

}

共有1个答案

施琦
2023-03-14

我遇到过同样的问题,情况非常相似,目前的答案都没有帮助我。所以我只能推荐

itemToUpdate.quantity++

被改成

itemToUpdate.quantity += 0.5;

我知道这不是解决这个问题的正确方法,但功能是有效的,您可以在以后找到解决方案时更改它

 类似资料:
  • NikiC在另一条线上说: 为什么refcount? 为什么在运行之后,refcount没有出现?

  • 问题内容: 我在Google和此站点中搜索了我的问题,但我仍然不明白该解决方案。 我有一段程序里面有一些数据。程序在大型阵列上崩溃,并显示虚拟内存不足的错误,因此我开始考虑文件。 在此之前: 之后: 我在Ubuntu上进行了测试,并通过系统监视器看到了这种内存增加。但是我很困惑,(和)参数没有变化。 问题是-实际内存使用量的指标是什么? 这是否表示真实指标是?(并且仅分配但仍未使用的内存) 问题答

  • 我想增加高度但不是宽度的大小。下面的代码增加高度和宽度。 我试着用下面的代码,但它不起作用 这两个都不工作。请任何人帮助我增加面板高度的大小

  • 我有一个方法应该用新内容覆盖当前文件,但是FileWriter()只是附加新内容,而不是覆盖旧内容。 这是我的FileWriter的设置方式 这是保存方法 当我运行此方法时会出现问题,它没有覆盖文件,而是将新内容附加到文件中。 我想要的: 发生了什么:

  • 我对Liquibase有点陌生。我遇到了一个场景,在一个中,它试图首先添加默认值,而不是旁边的空约束。 但这里的问题是两者都

  • 问题内容: 我正在使用Json.Net for .Net 4.5,并且在以下对象上使用填充对象时,它会使用json的内容而不是设置其值来增加List的值。 Json.Net 类 当它们最初加载时,一切都正确,但是从JSON重新加载两个MyStringLists都是重复的 问题答案: 您应该告诉Json.Net替换数组,如下所示: