我试图理解为什么会出现此错误,我在此处的其他问题中找不到相似之处。
function decreaseQty(item) {
if (item.qty > 1) {
const updatedItems = cartItems.map((i) => {
if (i.product._id === item.product._id) {
i.qty--;
}
return i;
});
setCartitems(updatedItems);
}
}
function removeItem(item) {
const updatedItems = cartItems.filter((i) => {
if (i.product._id !== item.product._id) {
return true;
}
});
setCartitems(updatedItems);
}
您忘记在回调函数中返回 false。过滤器函数的回调应返回 true 或 false。
function removeItem(item) {
const updatedItems = cartItems.filter((i) => {
if (i.product._id !== item.product._id) {
return true;
}
return false;
});
setCartitems(updatedItems);
}