Я использую 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');
У меня вопрос, почему будет ли этот запрос удалять пользователя из магазина?