Значение реквизита редуктора NgRx всегда не определено - PullRequest
1 голос
/ 29 апреля 2020

У меня есть эффект, который возвращает данные правильно, я вызываю действие с данными из эффекта, но "detailsList" редуктора всегда неопределен.

Эффект вызывает CustomAction.ShowDetails (props Data)

Эффект

response.student.details always has data so the response is correct

if (response === "test") {
      return of(CustomAction.ShowDetails(response.student.details));
    }

Редуктор

export interface StudentState {
  newStudentDetails: any[];
}

export const studentInitialState: StudentState = {
  newStudentDetails: null;
};

const reducer = createReducer(
  studentInitialState,
  on(CustomAction.ShowDetails, (state, { detailsList}) => ({
    ...state,
    newStudentDetails: detailsList
  })),

);

export function createStudentReducer(
  state: StudentState,
  action: Action
) {
  return reducer(state, action);
}

detailsList всегда неопределен

Действие

export const ShowDetails = createAction(
  CustomActionTypes.ShowDetails,
  props<{ detailsList: any[] }>()
);

Когда я отлаживаю редуктор, подробный список всегда неопределен. Есть идеи?

1 Ответ

1 голос
/ 29 апреля 2020

Вы должны сделать что-то подобное в вашем эффекте:

return of(CustomAction.ShowDetails({detailsList: response.student.details}));
...