redux-thunk:如何触发动作?

redux-thunk: how to trigger on action?

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

take('MY_ACTION', myActionHandler)

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

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

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

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

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

你一开始不会发送 MY_ACTION,但你会直接发送你的 thunk。

帅哥没有触发动作,他们动作。