Консоль регистрирует данные состояния при использовании ngrx для управления состоянием в Angular

Может ли кто-нибудь предложить, как консоль регистрировать состояние при использовании ngrx для управления состоянием в приложении angular. Я прошел через ngrx-store-logger, но в документации неясно, как создавать мета-редукторы и использовать эту библиотеку.


person front-end_dev    schedule 11.10.2018    source источник


Ответы (1)


Это можно сделать с помощью метаредуктора, как показано в Пример приложения NgRx

export function logger(reducer: ActionReducer<State>): ActionReducer<State> {
  return (state: State, action: any): any => {
    const result = reducer(state, action);
    console.groupCollapsed(action.type);
    console.log('prev state', state);
    console.log('action', action);
    console.log('next state', result);
    console.groupEnd();

    return result;
  };
}

/**
 * By default, @ngrx/store uses combineReducers with the reducer map to compose
 * the root meta-reducer. To add more meta-reducers, provide an array of meta-reducers
 * that will be composed to form the root meta-reducer.
 */
export const metaReducers: MetaReducer<State>[] = !environment.production
  ? [logger, storeFreeze]
  : [];
person timdeschryver    schedule 12.10.2018