как очистить магазин ngrx при выходе из системы
Я хочу очистить все свои состояния в магазине после выхода из системы. это мои редукторы /index.ts
export interface AppState {
}
export const reducers: ActionReducerMap<AppState> = {
router: routerReducer
};
export const metaReducers: MetaReducer<AppState>[] = !environment.production ? [storeFreeze] : [];
мой app.module.ts
StoreModule.forRoot(reducers, {metaReducers:[]})
кроме того, у меня уже есть редуктор авторизации (authState) с двумя действиями: вход и выход
1 ответ
Я создаю в своем индексе функцию метаредуктора, которая при выходе пользователя из системы очищает хранилище.
export function clearState(reducer) {
return function (state, action) {
if (action.type === Auth.AuthActionsTypes.LogoutAction) {
state = undefined;
}
return reducer(state, action);
};
}
а затем добавил его в свой app.module
StoreModule.forRoot(reducers, {metaReducers:[clearState]})