#angular #ngrx #ngrx-store
#angular #ngrx #ngrx-хранилище
Вопрос:
Я импортировал ngrx в проект для лучшего моделирования данных. Мне только что удалось сохранить огромный объем информации в хранилище ngrx, а затем успешно извлечь ее в компоненте. Однако, когда я попытался разделить свои данные на более мелкие фрагменты с помощью селекторов, я заметил, что селекторы не могут возвращать какие-либо подсостояния начального состояния.
Мой первый селектор, который извлекает все данные, работает нормально и может возвращать массив объектов:
export const getOperatorFactsState = createSelector(
getOperatorFactsFeatureState,
state => {
return state;
}
);
Мой второй селектор, который должен получать доступ к меньшему подсостоянию исходных данных, возвращает только undefined:
export const getNetworksState = createSelector(
getNetworksFeatureState,
state => {
return state.OperatorFacts.operatorFacts.networks;
}
);
Я провел некоторое исследование в Интернете и не могу точно определить, почему это происходит как таковое. Почему может быть причиной этой проблемы? Я предоставлю файл action, reducer of effects, если он будет запрошен.
OperatorFacts.module (отображается как изображение, поскольку оно довольно большое):
Комментарии:
1. не могли бы вы поделиться состоянием ввода машинописного текста, пожалуйста?
Ответ №1:
Глядя на ваш State
selector
, должно быть так
export const getNetworksState = createSelector(
getNetworksFeatureState,
state => {
return state.OperatorFacts?.networks; //no extra operatorFacts object
}
);
Комментарии:
1. У меня были проблемы с тем, как я написал логику для селекторов. Но да, именно так выглядело мое состояние в конце.