effects中调用action中的问题
来源:7-3 什么是 Effects

qq_風華亂舞_0
2017-10-27
请问老师:
在我定义好effect后。
@Effect()
quote$: Observable<Action> = this.actions$
.ofType(actions.ActionTypes.LOAD)
.map(toPayload) // 也可以map(p => p.payload)
.switchMap(_ => this.service$.getQuote()
.map(q => new actions.LoadSuccessAction(q))
.catch(err => Observable.of(new actions.LoadFailAction(JSON.stringify(err))))
);
为什么map(q => new actions.LoadSuccessAction(q)) 这里不用 store$.dispatch(new quoteActions.LoadSuccessAction(q)); 这种形式来向store中发送action呢,不加dispath能让reducer调用到吗?
写回答
1回答
-
接灰的电子产品
2017-10-28
因为 Effects 是监听 Action 的流,如果使用 dispatch 发射的话,dispatch 是一个 void 型的函数,这样监听流就断了。
dispatch 是为了你在前端页面中的某个事件产生时发射 action 而准备的函数。Effects 是监听Action的流
00
Angular打造企业级协作平台,让你在Angular领域中出类拔萃
全网首个介绍官方 Material 组件库用法与 Redux 在 Angular 中的应用
998 学习 · 536 问题
相似问题