如何从reactjs中的redux状态中筛选出项

如何从reactjs中的redux状态中筛选出项,reactjs,redux,react-redux,Reactjs,Redux,React Redux,我从后端获取数据,从后端获取产品列表,并将其分配到redux reducer中的cartList状态。在这里,我试图过滤掉包含字段item.teamWith==0和&item.priceType===“TEAM”的项,并将过滤后的值分配给waitingList。但问题是,我尝试了好几次,但没有看到分配给它的任何值。这就是我的代码的样子 代码 此处waitingItem在我所在的州甚至不可用。我不知道为什么。任何帮助都会很好。来自您的代码 state.cartList.filter(item=>

我从后端获取数据,从后端获取产品列表,并将其分配到redux reducer中的
cartList
状态。在这里,我试图过滤掉包含字段
item.teamWith==0和&item.priceType===“TEAM”
的项,并将过滤后的值分配给waitingList。但问题是,我尝试了好几次,但没有看到分配给它的任何值。这就是我的代码的样子

代码

此处
waitingItem
在我所在的州甚至不可用。我不知道为什么。任何帮助都会很好。

来自您的代码

state.cartList.filter(item=>item.teamWith==0&&item.priceType==TEAM)
和image,如果存在
cartList
属性,则不存在您正在通过-
teamWith
priceType
进行筛选的属性,因此您需要更改
过滤器
功能或逻辑


可能,当
waitingItem
为空数组、未定义或类似此Redux的内容时,不会将其添加到状态…

看起来您正在根据API响应返回的
cartList
分配
waitingItem
,并相应地对其进行过滤。因此,您需要使用实际负载,而不是使用尚未更新的现有状态来设置waitingItem,如下所示:

case actionTypes.GET_CART_SUCCESS:
      const cartList= action.payload._embedded.cartResourceList;
      const waitingItem = cartList.filter(item => item.teamWith === 0 && item.priceType === "TEAM");

      return {
        ...state,
        cartList,
        page: action.payload.page,
        waitingItem:waitingItem,
        fetched: true,
        isFetching: false,
      };
case actionTypes.GET_CART_SUCCESS:
      const cartList= action.payload._embedded.cartResourceList;
      const waitingItem = cartList.filter(item => item.teamWith === 0 && item.priceType === "TEAM");

      return {
        ...state,
        cartList,
        page: action.payload.page,
        waitingItem:waitingItem,
        fetched: true,
        isFetching: false,
      };