何时在angular2中使用ngrx / effect

前端之家收集整理的这篇文章主要介绍了何时在angular2中使用ngrx / effect前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个与api通信的anuglar2项目.最近,我决定集成ngrx / store来维护组件的状态,并遵循dump-smart组件架构.但是在继续前进的过程中,我读到了可以在api请求中使用的ngrx / effect.

在这里,我的问题来了,我为什么要使用ngrx /效果库,只是从我的容器组件调用我的服务中的相应函数来执行api请求和成功调度操作以将返回的值保存在我的商店中.

如果您的情况保持如此简单,那么您将不需要它的效果.此外,效果本身不会比调用您的服务方法更多.

简而言之:如果你的项目非常小并且没有很多功能,那么它只会让你编写更多的代码.

如果项目很大,它将帮助您构建数据流和项目组件.

何时使用效果

当你想根据另一个动作触发一个动作时(用英语口语你会称之为副作用)或者你想要添加一般的错误处理或者记录.

效果的工作方式:效果侦听任何已定义的操作(例如LoadDataAction),然后执行一些处理并返回随后由存储处理并分发到reducer或其他效果的任何操作.

例:

>分派LoadDataAction
>触发效果(loadData $)
> loadData $-effect调用数据服务
>加载数据失败
> loadData $-effect返回一个LoadDataFailureAction

ngrx处理行动……

>可以通过以下方式获取LoadDataFailureAction:

>记录器效果(例如,向服务器发送消息)>通过ui通知效果(例如向用户显示消息)>和/或通过reducer(例如,持久化错误计数或从状态中删除某些内容)

猜你在找的Angularjs相关文章