说我有一个实体Tag
。此实体是递归的,这意味着Tag
可以具有子{Tag
(s)
Tag {
id: string,
childrenIds: string[]
}
此实体用于EntityState<Tag>
,因此已被规范化。
我正在使用MatTree
来显示此层次结构,并且在创建Tag
作为另一个Tag
的孩子时,我触发了一个事件:
emitTagCreated(parentId: string, newTagId: string): void {
this.tagCreated.emit({ parentId, newTagId })
}
此事件随后被父级Component
捕获,后者调用Store.dispatch()
应该发生两件事:
Tag
插入了Store
Tag
的{{1}}数组属性已更新,并推送了新的childrenIds
的ID 提问时间:
我应该Tag
单个dispatch()
传递复合有效载荷并将其集中在Action
的switch分支中,还是应该Reducer
两个dispatch()
:用于Action
的创建,并且用于Tag
的更新和处理,作为不同的Tag
的操作?
答案 0 :(得分:1)
恕我直言,这里最好调度一次,这样会使事情变得更清楚。
另外,当您创建2个动作时,您或团队成员可能会忘记在其他情况下触发第二个动作,从而导致状态不佳。