Я исследовал довольно много различных методов 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