2.Array.prototype.filter() 期望在箭头函数末尾返回一个值

问题描述 投票:0回答:1

我试图理解为什么会出现此错误,我在此处的其他问题中找不到相似之处。

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);
}
reactjs eslint
1个回答
0
投票

您忘记在回调函数中返回 false。过滤器函数的回调应返回 true 或 false。

function removeItem(item) {
  const updatedItems = cartItems.filter((i) => {
    if (i.product._id !== item.product._id) {
      return true;
    }
    return false;
  });
  setCartitems(updatedItems);
}
© www.soinside.com 2019 - 2024. All rights reserved.