我刚刚在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
您可以查看如何在应用/操作中定义操作