【问题标题】:How to call another dispatch action in an NgRx Effect?如何在 NgRx Effect 中调用另一个调度动作?
【发布时间】:2020-09-17 00:57:44
【问题描述】:

概述: 用户按下 + 按钮将购物车中的商品增加 1。(this.store.dispatch(CartActions.IncrementCoin({name}))

在此之后调用下一个方法
this.store.dispatch(CartActions.updateTotalPrice());

这是更新所有产品的总价格,现在我想将第二个动作调用移动到一个效果,因为第二个动作是增量动作的副作用。但是我该怎么做呢?我在网上没有看到这个问题的答案,所以我在这里问。

这是我想要制作的效果,所以它会监听 incementCoin 动作。在此之后,它需要触发 updateTotalPrice 操作。我该如何构建它?

更新

已实施以下解决方案。这个效果现在可以监听 5 种不同的动作!

【问题讨论】:

    标签: angular ngrx ngrx-effects


    【解决方案1】:

    这就是它的实现方式:

    public incrementCoin$ = createEffect(() => this.actions$
      .pipe(
        ofType(CartActions.IncrementCoin),
        map(CartActions.updateTotalPrice)
      )
    )
    

    【讨论】:

    • 是的,这行得通。我用mapTo(...)实现了它,我是ngrx的新手,所以谢谢:)
    猜你喜欢
    • 2018-11-10
    • 2021-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-18
    • 2020-01-25
    • 1970-01-01
    • 2023-03-18
    相关资源
    最近更新 更多