redux-thunk:如何触发动作?
redux-thunk: how to trigger on action?
我有使用 react-saga
的背景,它有“效果”的概念,它让我们触发动作处理程序以响应正在调度的 Redux 动作:
take('MY_ACTION', myActionHandler)
我将如何使用 redux-thunk 做同样的事情?
redux-thunk
与 redux-saga
的概念有点不同。这是一个简单的中间件,它允许您将操作创建为函数(而不是对象),它可以 运行 异步(默认情况下 redux 流是同步的)。
因此,例如,您可以轻松地在 thunk 中进行一些异步 api 调用,完成后,使用 api 调用结果分派最终操作对象。
就是这样,没有像 redux-saga
那样订阅其他 redux 动作的概念。您可以做的是将您的处理程序逻辑添加到调度您的操作的同一位置,但如果有多个这样的位置,它可能会导致问题。
其他解决方案(如果您不想使用 redux-saga)可能是编写自定义中间件来拦截和处理特定操作。
你一开始不会发送 MY_ACTION
,但你会直接发送你的 thunk。
帅哥没有触发动作,他们是动作。
我有使用 react-saga
的背景,它有“效果”的概念,它让我们触发动作处理程序以响应正在调度的 Redux 动作:
take('MY_ACTION', myActionHandler)
我将如何使用 redux-thunk 做同样的事情?
redux-thunk
与 redux-saga
的概念有点不同。这是一个简单的中间件,它允许您将操作创建为函数(而不是对象),它可以 运行 异步(默认情况下 redux 流是同步的)。
因此,例如,您可以轻松地在 thunk 中进行一些异步 api 调用,完成后,使用 api 调用结果分派最终操作对象。
就是这样,没有像 redux-saga
那样订阅其他 redux 动作的概念。您可以做的是将您的处理程序逻辑添加到调度您的操作的同一位置,但如果有多个这样的位置,它可能会导致问题。
其他解决方案(如果您不想使用 redux-saga)可能是编写自定义中间件来拦截和处理特定操作。
你一开始不会发送 MY_ACTION
,但你会直接发送你的 thunk。
帅哥没有触发动作,他们是动作。