0

当反应反冲中的id不匹配时,我想向对象数组添加一个新对象

const [cart, setCart] = useRecoilState(cartItems)

对象{id:1,数量:1,产品名称:'apple'}

const addToCart =(object) => {
        
        if(cart.length==0){
            setCart([object])
        }
        else{
            let data = cart.map(items=>
                {
                    if(items.id == object.id )
                    {
                        return {...items, quantity:items.quantity + cartData.quantity}
                    }else
                    {
                        
                    }
                })                
            setCart(data)
        }
}

4

1 回答 1

0

你可以使用

findIndex()

找到满足您条件的元素。如果找不到任何东西,它会返回 -1。

const index = cart.findIndex(item => item.index == object.id);
if (index == -1) setCart([...cart, object])
else ...
于 2021-08-13T00:30:48.003 回答