如何在matchDispatchToProps中传递多个动作?以及如何在mapStateToprops中传递几个状态(对于每个reducer)?

时间:2019-11-20 08:37:44

标签: reactjs redux

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

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

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

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

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

1 个答案:

答案 0 :(得分:1)

您可以通过返回如下对象来从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);

希望这会有所帮助!