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;
}
})
我有:
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;
}
})