В библиотеке NGRX (https://ngrx.io/), при создании действия, включающего данные, в примерах показан аргумент payload
, содержащий эти данные. Есть ли причина, по которой я не могу просто указать полезную нагрузку в качестве параметров?документация и все примеры, которые я могу найти, используют payload
, но нет реального объяснения, почему. Например:
export class CreateEmployeeScheduleError implements Action {
readonly type = CREATE_EMPLOYEE_SCHEDULE_ERROR;
constructor(public payload: {
error: string,
requests: ScheduleCreateRequest[],
requestsRemaining: number
}) {}
}
может быть записано как:
export class CreateEmployeeScheduleError implements Action {
readonly type = CREATE_EMPLOYEE_SCHEDULE_ERROR;
constructor(public error: string,
public requests: ScheduleCreateRequest[],
public requestsRemaining: number) {}
}
Это исключаетнеобходимо получить action.payload, а также необходимость вспомогательной функции (map(toPayload)
) и аналогично тому, как я видел другие структуры реализации редуксов (NGXS). Есть ли причина, по которой я не должен делать это какпоследний?
Это изменит эффекты и уменьшители, чтобы быть более простым.