如何通过bindactioncreator传递值



到目前为止,我一直在处理两种mapDispatchToProps:

:

function mapDispatchToProps(dispatch) {
  return {
    fetchgadata: bindActionCreators(fetchgadata, dispatch)
  };
}

2:

const mapDispatchToProps = (dispatch) => {
  return {
    onTimeChange: (e) => {dispatch (onSetTimeRange(e.target.value));},    
  };
};

我想做的是使用e.target.valuebindActionCreators。那么,如果我想在里面包含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),
  };
};

相关内容

  • 没有找到相关文章

最新更新