我刚刚开始使用Angular-2-Project中的ngrx / store . 我的问题涉及通过商店的调度方法分配行动:行动是否会通过所有减少者传递?这意味着行动类型必须是全球唯一的吗?它是否正确?
我问的是这个问题,因为在一些教程中,动作的类型是非常短的字符串,就像它们在某种程度上受到局部限制一样 . 但是如果它们是全局的,那么应该有某种prefix_namespacing,对吧?
谢谢!
是的,行动类型必须是唯一的 .
如果您检查ngrx示例,它将使用动作创建者模式,该模式将操作作为操作类型名称的前缀 .
https://github.com/ngrx/example-app/blob/master/src/app/actions/book.ts
是的,商店将所有减速器合二为一,因此将有效地向所有减速器发送动作 . 如果许多减速器具有匹配操作,则它们将执行它们用于该动作的代码 .
使你的动作与众不同的一种方法是通过类而不是字符串常量直接公开它们,这里有一个例子:
https://github.com/ngrx/example-app/blob/master/src/app/reducers/books.ts
您可以在app / actions中查看操作的定义方式
2 回答
是的,行动类型必须是唯一的 .
如果您检查ngrx示例,它将使用动作创建者模式,该模式将操作作为操作类型名称的前缀 .
https://github.com/ngrx/example-app/blob/master/src/app/actions/book.ts
是的,商店将所有减速器合二为一,因此将有效地向所有减速器发送动作 . 如果许多减速器具有匹配操作,则它们将执行它们用于该动作的代码 .
使你的动作与众不同的一种方法是通过类而不是字符串常量直接公开它们,这里有一个例子:
https://github.com/ngrx/example-app/blob/master/src/app/reducers/books.ts
您可以在app / actions中查看操作的定义方式