Redux中的搜索功能

时间:2019-11-14 14:36:10

标签: javascript reactjs react-native redux react-redux

我正在尝试在redux中实现搜索功能

我正在使用以下代码,但无法正常工作,但相同的代码在普通javascript中工作,但在redux中不起作用

 searchItems: (name ) => async (dispatch) => {
    let newData = []
    dispatch({
      type: types.SEARCH_ITEMS,
      payload: (newData = DATA.filter((item) => {
        const itemData = `${item.name.toUpperCase()}`;       
        const textData = name.toUpperCase();
        itemData.indexOf(textData) > -1;       
        return newData;
      })),
    });
  },
}; 
  

newData返回并且为空数组

export const reducer = (state = initialState, action) => {
  const { type } = action;

  switch (type) {    
    case types.SEARCH_ITEMS:
      return [...action.payload];
    default:
      return state;
  }
};

我错了什么?

1 个答案:

答案 0 :(得分:1)

您应该从过滤器回调truefalse返回:

尝试通过这种方式做到这一点:

searchItems: (name ) => async (dispatch) => {
    dispatch({
      type: types.SEARCH_ITEMS,
      payload: DATA.filter((item) => {        
        const itemData = `${item.name.toUpperCase()}`;       
        const textData = name.toUpperCase();
        return itemData.indexOf(textData) > -1;
      }),
    });
  },
};