首页 > 解决方案 > 如何在 matchDispatchToProps 中传递多个操作?以及如何传入 mapStateToprops 几个状态(对于每个减速器)?

问题描述

function mapStateToProps(state){ 
    return {
        cars: state.cars
    };
}

cars是一个减速器,更准确地说 - 存储减速器的 combineReducer 属性。
在 mapStateToProps 我需要再传递一个状态减速器 -motocycle

function matchDispatchToProps(dispatch){ 
    return bindActionCreators({select: select}, dispatch) 
}

select是行动
我需要再传递一个动作 -delete在 matchDispatchToProps

如何使用函数声明而不进行解构来编写它?

标签: reactjsredux

解决方案


mapDispatchToProps您可以通过返回这样的对象来返回多个操作:

const mapDispatchToProps = (dispatch) => {
  return {
    action1: (options) => dispatch(action1, options),
    action2: (options) => dispatch(action2, options)
  };
}

您也可以使用普通的 javascript 语法编写相同的代码,如下所示:

function mapDispatchToProps(dispatch){
  return {
    action1: (options) => dispatch(action1, options),
    action2: (options) => dispatch(action2, options)
  };
}

然后您可以像这样在代码中分派这些操作: this.props.action1(options);

希望这可以帮助!!


推荐阅读