在官方文档中,建议我们将操作的来源放在括号[]
:
名称应包含三个部分:
有关命令来源的上下文、[用户 API]、[产品 页面]、[仪表板页面]。
一个动词,描述我们想对实体做什么。
我们正在对其采取行动的实体,用户,卡,项目。
例子:
[User API] GetUser
[产品页面] 添加项目到购物车
[仪表板页面] 存档项目
但是,如果我们调用操作的 2 个不同位置怎么办?
在我的 Angular 应用程序中,我有以下操作:
export class ClearActiveItem {
static readonly type = '[Items Page] ClearActiveItem';
}
我如何命名它,所以我强调ClearActiveItem
可以从Items Page
以外的其他地方发送?
操作应捕获事件,而不是命令。
因此,应创建两个操作,每个操作对应事件发生的每个位置。
关于这个主题的一个很棒的视频是Mike Ryan的Good Action Hygiene 它适用于NgRx,但相同的概念也适用于NGXS。