как очистить хранилище ngrx при выходе из системы

#angular #ngrx #ngrx-store #ngrx-reducers

#angular #ngrx #ngrx-store #ngrx-редукторы

Вопрос:

Я хочу очистить все свои состояния в хранилище после выхода из системы. это мои reducers /index.ts

 export interface AppState {

}
export const reducers: ActionReducerMap<AppState> = {
router: routerReducer
};
export const metaReducers: MetaReducer<AppState>[] = !environment.production ? [storeFreeze] : [];
  

my app.module.ts

     StoreModule.forRoot(reducers, {metaReducers:[]}) 
  

кроме того, у меня уже есть мой редуктор аутентификации (authState) с двумя действиями login и logout

Комментарии:

1. Я думаю, это то, что вы ищете: medium.com/@moneychaudhary /.

Ответ №1:

Я создаю в своем индексе функцию мета-редуктора, которая при выходе пользователя из системы очищает хранилище

 export function clearState(reducer) {
  return function (state, action) {

    if (action.type === Auth.AuthActionsTypes.LogoutAction) {
      state = undefined;
    }

    return reducer(state, action);
  };
}
  

а затем добавил его в мое приложение.модуль

 StoreModule.forRoot(reducers, {metaReducers:[clearState]})