参数值已发送给动作,但未被动作接收

时间:2019-01-17 07:44:06

标签: javascript reactjs ecmascript-6 redux react-redux

我通过此操作启动加载扫描:

export function loadPickingScans (orderReference) {
    return { type: SCANNING_LOAD_SCANS, orderReference };
}

在我的智能(页面)组件中调用它:

componentDidMount() {
    const { loadPickingScans } = this.props;
    loadPickingScans(this.props.match.params.orderReference);
}

这是网址:

enter code here http://localhost:3000/orders/my-order-reference/scans

this.props.match.params.orderReference正确包含my-order-reference

但是,将日志添加到我的操作中,会以undefined的形式接收orderReference。

  

我应该怎么做才能收到这个期望值?

更新

根据要求:

function mapDispatchToProps(dispatch) {
    return {
        loadPickingScans: () => dispatch(loadPickingScans())
    };
}

1 个答案:

答案 0 :(得分:1)

mapDispatchToProps中,在分派操作时,您没有向其传递任何参数,因此它在方法中记录为未定义,您需要像这样编写它

function mapDispatchToProps(dispatch) {
    return {
        loadPickingScans: (value) => dispatch(loadPickingScans(value))
    };
}

或者简单地

const mapDispatchToProps = {
   loadPickingScans
}