到目前为止,我一直在处理两种mapDispatchToProps
:
:
function mapDispatchToProps(dispatch) {
return {
fetchgadata: bindActionCreators(fetchgadata, dispatch)
};
}
2:
const mapDispatchToProps = (dispatch) => {
return {
onTimeChange: (e) => {dispatch (onSetTimeRange(e.target.value));},
};
};
我想做的是使用e.target.value
和bindActionCreators
。那么,如果我想在里面包含e.target.value
并将此值传递给我的fetchgadata
操作创建者,我应该如何重构上面的第一个mapDispatchToProps
呢?
我正在学习所以我希望我的问题是清楚的。如果不是,请帮我改进!谢谢。
不传递事件参数,而是传递e.target.value。该值将是动作创建器中的第一个参数。组件代码应该是:
handleSubmit(e) {
this.props.onTimeChange(e.target.value);
}
您可以尝试以下操作:
function mapDispatchToProps(dispatch) {
return {
bindActionCreators({
fetchgadata: function(e) {
dispatch(onSetTimeRange(e.target.value));
}
}, dispatch)
};
}
如果你想要更多的功能,你可以简化添加到底部,并保持链接
如果你想使用bindActionCreators,你应该这样写:
function mapDispatchToProps(dispatch) {
return {
fetchgadata: bindActionCreators((event) => fetchgadata(event.target.value), dispatch),
};
};