D.R*_*D.R 4 filter reactjs redux
我有订单减速机,它有很多州.
const initialState = {
channel: null,
order: {},
fetching:true,
menu: [],
categories: [],
subcategories: [],
currentCategoryId: 1,
currentSubcategoryId: 5,
currentMenu: [],
};
Run Code Online (Sandbox Code Playgroud)
我想要过滤的是menu.menu是状态的阵列,其具有对象menu_item我有currentCategoryId和currentSubcategoryId.我想对这些状态做的是通过使用currentCategoryId和currentSubcategoryId过滤menu并将过滤后的状态放到currentMenu.
case Constants.ORDER_CHANNEL_CONNECTED:
return
{...state,currentMenu: action.menu.map((menu) => {
if(state.currentCategoryId == menu.category_id){
return menu;
}
else return false;}}
Run Code Online (Sandbox Code Playgroud)
所以要做到这一点,我做了上面的代码.即使它返回一些过滤值,它也会显示具有许多错误值的相同数量的数组.我想找到其他方法来做到这一点..
我怎样才能做到这一点?
提前致谢.
请使用filter功能:
{...state,currentMenu: action.menu.filter((menu) =>
state.currentCategoryId == menu.category_id)}
Run Code Online (Sandbox Code Playgroud)
PS:我同意以下的答案,最好使用Immutable.js