如何使用 bindActionCreators 传递值?
how to pass value with bindActionCreators?
到目前为止,我一直在处理两种 mapDispatchToProps
:
一个:
function mapDispatchToProps(dispatch) {
return {
fetchgadata: bindActionCreators(fetchgadata, dispatch)
};
}
两个:
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),
};
};
到目前为止,我一直在处理两种 mapDispatchToProps
:
一个:
function mapDispatchToProps(dispatch) {
return {
fetchgadata: bindActionCreators(fetchgadata, dispatch)
};
}
两个:
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),
};
};