在react redux中全局状态更改后调度新操作

时间:2017-12-09 11:25:20

标签: reactjs ecmascript-6 redux

假设我有一个用户即将点击按钮组合的表单。

每个按钮触发类型为T的动作,然后减速器R更新其状态,并在网站上呈现新组合。

现在是棘手的部分: 我在reducer中实现了我的业务逻辑,它应用了即将呈现的新状态。我现在需要的是当该状态接受条件时,我想发送新动作(api请求)。

实现这类问题的正确方法是什么?

将标志设置为状态,然后在组件中调用新操作? 以某种方式在reducer中调度函数?

...

2 个答案:

答案 0 :(得分:3)

在这种情况下,您可以使用库redux-saga。 使用redux-saga,您将能够创建一个从动作组件调用的传奇。在传奇中,你将能够调用几个redux-actions。如果您的状态在传奇中有效,则可以调用API请求。 redux-saga的常用替代方法也是redux-thunk

答案 1 :(得分:3)

Redux Thunk允许您在动作创建者中分派多个动作并分派异步动作。对于您的场景,您可以执行以下操作:

  module: {
    rules: [
      {
        test:  /\.coffee$/,
        use: 'coffeescript-loader'
      },
  ...
  ...
  extensions: ['.js', '.vue', '.json', '.css', '.node', '.coffee']