繁体   English   中英

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)分派为List的长度的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;
      }
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM