没有从 React-redux 得到 return

Not getting a return from React-redux

我想在 React-Redux 中过滤我的商店的结果。为此,我创建了一个过滤器选择器。

我的代码只 return 所有“购物者”,而它应该只 return 过滤后的购物者。

每个购物者都有一组评论,其中包含(一个或多个)带有评论(文本)和评论编号的对象。我们想过滤评论号。查看打印屏幕:

enter image description here

所以澄清一下,我想根据购物者的评论进行过滤,如果该数字 >= 过滤器,则 return 只有符合此条件的购物者。

我在这里做错了什么?我怎样才能得到 return 只有过滤后的结果?

export const selectShoppersWithFilters = (filters) => (state) => {
  let shoppers = [...state.publicShoppers];

  if (filters.minAverageReview) {
    return shoppers.filter((shopper) => {
      return shopper.reviews.map((review) => {
        if (review.review >= filters.minAverageReview) {
          return (shoppers = shopper);
        }
      });
    });
  }
  console.log(shoppers);
  return shoppers;
};

ps。请耐心等待,我是一名初级开发人员...

假设您正在尝试过滤“至少有一个评论高于 minAverageReview”的购物者,我认为过滤功能就足够了,您不需要地图。

      return shoppers.filter((shopper) => {
        return
            shopper.reviews.some((review) => review.review >= filters.minAverageReview) 
      });

因此在过滤函数中,您传递一个回调来检查每个元素并根据您自己的条件决定是否过滤掉该元素,回调函数必须 return 一个布尔值。不满足条件(callback returns false)的元素将被过滤掉。这里我的 some() 检查数组 (shopper.reviews) 是否至少有一个评论元素的评论高于 minAverageReview.