Редуктор удаляет состояние другого редуктора из магазина - PullRequest
0 голосов
/ 04 мая 2020

Я использую NGRX и сетевой адаптер. У меня есть компонент под названием TransactionsComponent. Когда этот компонент вызывается в первый раз, он загружает список транзакций, как и ожидалось.

ngOnInit(): void {
    this.store.dispatch( new actions.Query());
  }

У меня также есть userReducer, который создает user ID при аутентификации пользователя. Когда я впервые загружаю TransactionsComponent, транзакции загружаются, как и ожидалось. Когда я ухожу от этой страницы, состояние user удаляется из магазина, и я не уверен, почему.

Я сузил его до этой строки кода, вызывающего проблему. this.store.dispatch( new actions.Query()); Если я уберу эту строку кода, user останется в хранилище при навигации между компонентами.

Вот мой код редуктора для справки

export const transactionAdapter = createEntityAdapter<Transaction>();

export interface State extends EntityState<Transaction> {}

export const initialState: State = transactionAdapter.getInitialState();

// Reducer
export function TransactionReducer(
    state: State = initialState,
    action: actions.TransactionActions
) {
    switch (action.type) {
      case actions.ADDED:
          console.log('added ran');
          return transactionAdapter.addOne(action.payload, state);
      case actions.MODIFIED:
          return transactionAdapter.updateOne({
              id: action.payload.id,
              changes: action.payload
          }, state);
      case actions.REMOVED:
          console.log(action.payload);
          return transactionAdapter.removeOne(action.payload.id, state);
      default:
          console.log('default ran');
          return state;
    }
}

// Create the default selectors
export const getTransactionState = createFeatureSelector<State>('transaction');

У меня вопрос, почему будет ли этот запрос удалять пользователя из магазина?

1 Ответ

0 голосов
/ 04 мая 2020

Это, наверное, не этот редуктор? Но, возможно, у вас есть другой редуктор, который слушает тот же тип действия.

...