mapDispatchToProps 中的状态

State inside mapDispatchToProps

我有:

const mapDispatchToProps = dispatch => (
  {
    slipsRadioClickHandler: (value) => {
      dispatch(slipsRadioClicked(value));
      switch (value) {
        case 'slips': {
          dispatch(requestSlips());
          dispatch(setExpandCollapse('slipsHide', true, 0))
          break;
        }
        default:
          break;
      }
    }
  }
);

但是 setExpandCollapse('slipsHide', true, 0) 必须调度 17 次,这是一个列表的长度。此列表处于状态。我如何访问此列表以发送我的操作列表。多长时间?

mapDispatchToProps 不是您应该拥有代码逻辑的地方。它旨在将操作绑定到组件的道具

换成

const mapDispatchToProps = dispatch => (
  {
    slipsRadioClickHandler: (value) => {
         dispatch(slipsRadioClicked(value));
      },
    requestSlips: dispatch(requestSlips()),
    setExpandCollapse: () => {dispatch(setExpandCollapse('slipsHide', true, 0))}

  }
);

并且在组件中,您需要遍历 mapStateToProps

提供的列表
var value = 'slips'    // set the value how you want to 

this.props.List.map(function(item){
     switch (value) {
        case 'slips': {
          this.props.requestSlips();
          this.props.setExpandCollapse();
          break;
        }
        default:
          break;
      }
})