Проблемы с вытягиванием сущностей Ngrx в магазине

Я занимаюсь разработкой приложения для изучения Angular Ngrx Store и Entities. Приложение использовало пример приложения из ngrx/platform в качестве отправной точки. Код и приложение здесь на StackBlitz

Я пытаюсь использовать createSelector, чтобы отфильтровать помо с Task_id, который совпадает с идентификатором выбранной задачи. Не имея возможности сделать это, я попытался просто загрузить все помо в состояние, используя редуктор помо на основе EntityAdapter. Это тоже не работает. Все мои действия успешны, включая добавление помо в магазин, но я не могу их загрузить. На данный момент я просто пытаюсь загрузить их все, но конечной целью является селектор, который загружает pomos на основе его task_id. Я подозреваю, что проблема, скорее всего, состоит в том, как на самом деле состоит государство, но я не могу понять, как это сделать. Как я уже сказал, действие по добавлению Pomo в магазин работает нормально, но при загрузке pomos. Возвращается пустым.

Вот что у меня есть для моих редукторов /index.ts

export interface State {
  search: fromSearch.State;
  tasks: fromTasks.State;
  pomos: fromPomos.State;
  collection: fromCollection.State;
}

export const reducers: ActionReducerMap<any> = {
  search: fromSearch.reducer,
  tasks: fromTasks.reducer,
  pomos: fromPomos.reducer,
  collection: fromCollection.reducer,
};

export const getTasksState = createFeatureSelector<TasksState>('tasks');
export const getPomosState = createSelector(getTasksState, state => state.pomos);


export const getTaskEntitiesState = createSelector(
  getTasksState,
  state => state.tasks
);


export const getPomosEntitiesState = createSelector(
  getTasksState,
  state => state.pomos
);

export const {
  selectIds: getTaskIds,
  selectEntities: getTaskEntities,
  selectAll: getAllTasks,
  selectTotal: getTotalTasks,
} = fromTasks.adapter.getSelectors(getTaskEntitiesState);

export const {
  selectIds: getPomoIds,
  selectEntities: getPomoEntities,
  selectAll: getAllPomos,
  selectTotal: getTotalPomos,
} = fromPomos.adapter.getSelectors(getPomosEntitiesState);

0 ответов

Другие вопросы по тегам