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次,这是List的长度。这份清单在该州。如何访问此列表以分发我的操作列表。长度时间?
答案 0 :(得分:2)
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;
}
})