【问题标题】:redux-thunk: how to trigger on action?redux-thunk:如何触发动作?
【发布时间】:2021-10-03 00:45:06
【问题描述】:

我来自使用 react-saga 的背景,它具有“效果”的概念,它允许我们触发动作处理程序以响应调度的 Redux 动作:

take('MY_ACTION', myActionHandler)

我将如何使用 redux-thunk 做同样的事情?

【问题讨论】:

    标签: reactjs redux redux-saga redux-thunk


    【解决方案1】:

    redux-thunkredux-saga 的概念有点不同。它是一个简单的中间件,允许您将操作创建为可以异步运行的函数(而不是对象)(默认情况下,redux 流程是同步的)。

    因此,例如,您可以轻松地在 thunk 中进行一些异步 api 调用,并在完成后调度具有 api 调用结果的最终操作对象。

    就是这样,没有像redux-saga 那样订阅其他 redux 操作的概念。您可以做的是将您的处理程序逻辑添加到调度您的操作的同一位置,但如果有多个这样的位置,则可能会导致问题。

    其他解决方案(如果您不想使用 redux-saga)可能是编写自定义中间件来拦截和处理特定操作。

    【讨论】:

      【解决方案2】:

      首先你不会发送MY_ACTION,但你会直接发送你的thunk。

      Thunk 没有触发动作,它们动作。

      【讨论】:

        猜你喜欢
        • 2021-02-16
        • 1970-01-01
        • 2020-11-24
        • 1970-01-01
        • 2017-07-27
        • 2017-06-15
        • 2019-05-30
        • 2017-10-15
        • 2019-01-08
        相关资源
        最近更新 更多