ngrx - createAction ngrx 方法论
问题描述
我已经研究了很多不同的 createAction 方法,但我对使用哪一种感到困惑。
假设我有一个用于登录的用户名和密码,我在互联网上看到过以下几种方式:
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示例:
解决方案
问题是当我注销操作时,类型是第二个示例中的属性之一,这意味着如果 userModel 包含类型属性,我可能会遇到冲突
如果发生这种情况,NgRx 会警告您,这将引发错误并且您将无法编译。payload
属性是在引入之前使用的模式,createAction
这就是为什么你会看到很多关于payload
属性的例子。
推荐阅读
- flutter - 如何捕捉任何 Flutter 异常
- c# - 有什么方法可以重定向 URL 并返回状态码 200
- flutter - 如何在 Flutter 中删除 textField 和错误消息之间的多余空格
- deployment - 什么可能导致在 BSC 主网上启动错误,在测试网上成功?
- android - 如何在应用程序中设置 android fcm 默认频道?
- javascript - 如何治疗
作为一个简单的文本,而不是一个 html 标签 - wcf - Remoting 和 WCF/coreWCF 的历史
- java - 如何启用透明 AnchorPane 的拖动?
- tableau-api - Tableau:具有不同字段的表之间的关系
- python - 将 python 字典插入 postgres jsonb 字段