Dar*_*har 2 redux ngrx angular
我有一个使用ngrx Store和Effects的Angular2应用程序.一切都很正常不过我不知道最好的方式来处理知道当服务调用操作,以更新成功警报或相似的看法已成功完成.
例如,这是我在CreateUser视图上的流程.
现在我想向用户表示操作已成功完成,但我不知道处理此问题的最佳方法.
我是否在CreateUser组件上为商店设置了Observable以通过选择器检测更改,或者是否有更合适的方法?
有几乎无穷无尽的方法,这里有一个如何通过ngrx-store和效果来做到这一点的例子:
UPDATE_USER_SUCCESS_ACTION.与成功动作一起,效果会发出另一个动作
RESET_UPDATE_EVENT_ACTION(或者如果您愿意,可以为此设置单独的效果)reducer通过以下方式处理这些操作:
UPDATE_USER_SUCCESS_ACTION:
userWasUpdated: trueRESET_UPDATE_EVENT_ACTION:
userWasUpdated: false在您的组件中,您执行以下操作:
userWasUpdated$ = this.store$
.select(state => state.userWasUpdated) // this will only trigger when the value changed, because ngrxStore.select has a built-in distinctUntilChanged()
.filter(wasUpdated => wasUpdated) // we are only in "truthy" events, so we filter out the other events
Run Code Online (Sandbox Code Playgroud)
而随着userWasUpdated$你现在有一个Observable,发出每当userObject已成功更新.
听起来像很多代码?是的,是的.只要有可能,我的个人解决方案是创建一些显示吐司/警报的通知服务,我直接从效果中调用它.
| 归档时间: |
|
| 查看次数: |
1780 次 |
| 最近记录: |