我有一个以这种方式定义的 ngrx 状态:
initialSidebarState: {
companyList: [];
companyId: null;
}
我正在使用 ngrx,我有一个名为“changeCompany”的操作: createAction('[Sidebar] Change Company', props<{ companyId: number }>());
我有一个以这种方式定义的reducer函数:
on(
SidebarAction.changeCOmpany,
(state, action): SidebarState => {
return {
...state,
companyList: initialSidebarState.companyList,
companyId: action.companyId
};
}
),
我恢复了分配 initialSidebarState.companyList 属性的公司列表,这是否正确?
答案 0 :(得分:0)
是的,你可以做到。但如果此列表默认不为空,我可能会建议使用默认值为 const
的 companyList
。如果默认为空,就在reducer中分配一个空数组即可。
const DEFAULT_COMPANY_LIST = [company, company, ...]
initialSidebarState: {
companyList: DEFAULT_COMPANY_LIST;
companyId: null;
}
on(
SidebarAction.changeCOmpany,
(state, { companyId }): SidebarState => ({
...state,
companyList: DEFAULT_COMPANY_LIST, // If you just want to clear it => companyList: []
companyId
})
),