Ngxs - Call an Angular service : good practices?
当我使用
-
我的组件调用服务,并且该服务使用以下命令调度操作
结果作为有效载荷? -
我的组件调度一个动作,而我的
国家电话服务?
我的观点是,分派操作本身应该是不可变的,不能用于返回结果。取而代之的是,有兴趣了解结果的客户端(通常是操作导致的状态更改)应该订阅状态更改。请注意,NGXS是CQRS实现。
您可以两者兼而有之,如果您研究开源应用程序,可能会发现两者。
到目前为止,我个人(使用ngrx,但还是一样)注入了商店并从(智能)组件中分派了动作。
但是最近我已经阅读了很多有关
您可以在此处了解有关外墙的更多信息:
https://medium.com/@thomasburleson_11450/ngrx-facades-better-state-management-82a04b9a1e39
https://medium.com/default-to-open/understanding-a-large-scale-angular-app-with-ngrx-80f9fc5660cc
https://blog.nrwl.io/nrwl-nx-6-2-angular-6-1-and-better-state-management-e139da2cd074
如前所述,您可以执行任何操作-这是我先前发布的问题,其中一个是NGXS团队的回应。
在我们的项目中,我们遵循了这种模式,调度一个动作,让该状态的动作处理程序调用该服务,然后使用结果对状态进行修补。并且,如果需要,请调度进一步的操作以指示成功或失败。