В библиотеке 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)
) и аналогично тому, как я видел другие структуры реализации redux (NGXS). Есть ли причина, по которой я не должен делать это в качестве последнего?
Это также изменило бы эффекты и редукторы, чтобы они были проще.