传入Redux函数的参数变为函数类型的问题排查
问题排查与修复方案
问题1:Redux Thunk 调用逻辑错误
你定义的presentFailedAuthenticatedOrder是标准的Redux Thunk Action Creator,高阶函数结构为(入参) => async (dispatch, getState) => {业务逻辑},这类函数不能直接作为普通方法调用,必须通过Redux的dispatch触发才能执行内部逻辑。
你当前直接调用props.presentFailedAuthenticatedOrder(response.data),仅执行了第一层函数,返回的是第二层待执行的异步函数,没有触发实际业务逻辑,是你日志输出异常的核心原因。
修复方案:
如果你的组件未通过connect绑定该Action到props,修改调用代码为:
props.dispatch(props.presentFailedAuthenticatedOrder(response.data))
如果你的组件用了connect高阶组件,检查mapDispatchToProps配置是否正确将该Thunk Action绑定为可直接调用的props方法。
问题2:参数层级引用错误
你调用时传入的参数为response.data,即presentFailedAuthenticatedOrder接收的data已经是接口返回的data字段,你在触发confirmOrderFailure时写的data.data.refusualReason多了一层.data,会抛出undefined错误。
修复方案:将对应代码修改为:
dispatch(confirmOrderFailure(data.refusualReason));
内容的提问来源于stack exchange,提问作者Ropenfold
相关产品推荐
相关产品推荐

