如何在 NgRx Effect 中调用另一个调度操作?
How to call another dispatch action in an NgRx Effect?
概览:
用户按下 + 按钮将购物车中的商品增加 1。(this.store.dispatch(CartActions.IncrementCoin({name}))
在此之后调用下一个方法
this.store.dispatch(CartActions.updateTotalPrice());
这是为了更新所有产品的总价,现在我想将第二个动作调用移动到一个效果上,因为第二个动作是增量动作的副作用。但是我该怎么做呢?我没有在网上看到这个问题的答案所以我在这里问。
这是我想要制作的效果,所以它会监听 incementCoin 动作。在此之后,它需要触发 updateTotalPrice 操作。我该如何构建它?
更新
已实施以下解决方案。这个效果现在可以监听 5 个不同的动作!
它可能是这样实现的:
public incrementCoin$ = createEffect(() => this.actions$
.pipe(
ofType(CartActions.IncrementCoin),
map(CartActions.updateTotalPrice)
)
)
概览: 用户按下 + 按钮将购物车中的商品增加 1。(this.store.dispatch(CartActions.IncrementCoin({name}))
在此之后调用下一个方法
this.store.dispatch(CartActions.updateTotalPrice());
这是为了更新所有产品的总价,现在我想将第二个动作调用移动到一个效果上,因为第二个动作是增量动作的副作用。但是我该怎么做呢?我没有在网上看到这个问题的答案所以我在这里问。
这是我想要制作的效果,所以它会监听 incementCoin 动作。在此之后,它需要触发 updateTotalPrice 操作。我该如何构建它?
更新
已实施以下解决方案。这个效果现在可以监听 5 个不同的动作!
它可能是这样实现的:
public incrementCoin$ = createEffect(() => this.actions$
.pipe(
ofType(CartActions.IncrementCoin),
map(CartActions.updateTotalPrice)
)
)