【发布时间】:2021-07-10 08:17:16
【问题描述】:
我正在尝试构建一个带有删除按钮的购物车,每次单击删除时都会删除该项目。我已经用过滤器方法完成了这个。但是每当我这样做并再次添加该项目时,该数量不会被删除,它只会更新它在删除之前的数量。因为我已经删除了数组,所以它应该给我 0 的值。
import React, {useContext} from 'react'
import useCountsContext from './context/useCountsContext.js'
function Cart() {
const {item, setItem} = useContext(useCountsContext)
const {count, setCount} = useContext(useCountsContext)
const removeItem = (productId) => {
const newItem = item.filter(i => i.id !== productId)
const exists = item.findIndex((i) => i.id === productId);
setItem(newItem)
setCount(count - item[exists].counts)
}
return (
<div>
{item.map(({id, img, counts, finalPrice, title}) => (
<>
<img className="img___shop" key={id} src={img}></img>
<p>{title}</p>
<p>Quantity: {counts}</p>
<p>Price: {finalPrice}$</p>
<button onClick={() => removeItem(id)}>Remove</button>
<p></p>
</>
))}
</div>
)
}
export default Cart
【问题讨论】:
-
useCountsContext中有什么内容?
标签: javascript reactjs