методология createAction ngrx - PullRequest
2 голосов
/ 27 января 2020

Я исследовал довольно много различных методов createAction, и я не уверен, какой из них использовать.

Допустим, у меня есть имя пользователя и пароль для входа в систему. Я видел следующие способы, разбросанные по inte rnet:

export const myAction = createAction(
    '...',
    props<{ payload: { username: string, password: string }}>
);

против

export const myAction = createAction(
    '...',
    props<{ username: string, password: string }>
);

Я считаю, что второй вариант намного чище, потому что у меня могло бы быть это:

export const myAction = createAction(
    '...',
    props<userModel>
);

Проблема в том, когда я завершаю действие, тип является одним из свойств во втором примере, что означает, что я могу столкнуться с конфликтами, если userModel содержит свойство типа. С другой стороны, первый пример означал бы, что слово «полезная нагрузка» будет разбросано по всему моему приложению, что кажется чрезмерным.

Пример в stackoverflow второго примера:

Как сделать вы обнаруживаете повторяющиеся типы NgRx createAction

1 Ответ

1 голос
/ 27 января 2020

Проблема в том, что когда я выхожу из системы, действие type является одним из свойств во втором примере, что означает, что я могу столкнуться с конфликтами, если userModel содержит свойство type

NgRx предупредит вас, если это произойдет, это приведет к ошибке, и вы не сможете скомпилировать. Свойство payload - это шаблон, который использовался до введения createAction, поэтому вы увидите много примеров со свойством payload.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...