我看到很多代码示例,其中store.dispatch()调用直接在Angular组件中发生。让愚蠢的Angular Component访问整个商店是不是很糟糕?为什么不将所有操作调度移动到Angular Service。然后,Component可以选择性地选择要使用的服务。
或者为什么不把动作定义和函数分配到一个可以注入Component的动作类中呢?
答案 0 :(得分:0)
我知道距您的帖子已经一年多了,但是我遇到了您的问题,正在寻找类似的内容。
首先,您提到:
让一个笨拙的Angular Component可以访问整个商店不是很糟糕吗?
如果您使用Smart Component > Dumb/Presentation Component pattern开发应用程序,则希望尝试将服务和存储保留在演示组件之外,并仅通过@inputs和@outputs与您的智能/容器组件进行交互。
听起来您可能正在描述Facade pattern,这将使您能够抽象出一组简单的类方法背后的商店交互复杂性。该外观将被注入到您的智能组件中,以保持演示组件的纯净。