ngrx / store:dispatch-method是否通过所有reducers传递动作?

时间:2017-05-16 15:19:16

标签: angular ngrx ngrx-store

我刚开始使用Angular-2-Project中的ngrx / store。我的问题涉及通过商店的调度方法分配行动:行动是否会通过所有减少者?这意味着行动类型必须是全球唯一的吗?这是对的吗?

我问这个问题,因为在一些教程中,动作的类型是非常短的字符串,好像它们在某种程度上是局部限制的。但是如果它们是全局的,那么应该有一些prefix_namespacing,对吧?

谢谢!

2 个答案:

答案 0 :(得分:1)

是的,行动类型必须是唯一的。

如果您检查ngrx示例,它会使用一个动作创建者模式,该模式在操作前面加上操作类型的名称。

https://github.com/ngrx/example-app/blob/master/src/app/actions/book.ts

答案 1 :(得分:1)

是的,商店将您的所有减速器合二为一,因此将有效地向您的减速器发送一个动作。如果许多Reducer具有匹配操作,则它们都将执行他们为该操作所拥有的代码。

使你的动作与众不同的一种方法是通过类而不是字符串常量直接公开它们,这里有一个例子:

https://github.com/ngrx/example-app/blob/master/src/app/reducers/books.ts

您可以在app / actions

中查看操作的定义方式