Action Creators中的条件派遣

时间:2017-10-17 18:07:23

标签: redux react-redux

我在绑定的动作创建者中执行基本验证。

const mapDispatchToProps = {
    onSomething: (props) => {
        if (performValidation(props)) {
            return { type: 'SOME_ACTION' };
        }
    }
};

如果验证失败并且我没有返回要发送的操作,则收到错误。

  

动作必须是普通对象。使用自定义中间件进行异步操作。

这是预期的吗?我可以通过使用thunk来解决这个问题,但这对于非异步条件调度来说似乎有些过分。

1 个答案:

答案 0 :(得分:2)

不,这里的thunk是正确的方法。绑定任何动作创建者时,会调用它并将输出直接传递给dispatch。将条件逻辑放入“普通”动作创建器意味着它可能会返回undefined,从而执行dispatch(undefined)

因此,如果您需要有条件地分派,要么不使用绑定操作创建器并处理组件中的条件逻辑,要么调度thunk并将条件逻辑保留在thunk中。对我来说,这是一个很好的用例。

相关问题