Javascript 如何正确分配react中setState属性的函数

Javascript 如何正确分配react中setState属性的函数,javascript,reactjs,forms,render,Javascript,Reactjs,Forms,Render,我想更改表单提交处理程序,这取决于我的活动:添加数据(this.\u handleFormSubmit)或更新数据(this.\u handleFormUpdateSubmit) 我有以下react组件的构造函数,它使用初始提交处理程序来添加数据: this.state = { modalSubmitHandler:this._handleFormSubmit} _HandleFormUpdate提交: _handleFormUpdateSubmit(e) { e.pr

我想更改表单提交处理程序,这取决于我的活动:添加数据(this.\u handleFormSubmit)或更新数据(this.\u handleFormUpdateSubmit) 我有以下react组件的构造函数,它使用初始提交处理程序来添加数据:

this.state = {
        modalSubmitHandler:this._handleFormSubmit}
_HandleFormUpdate提交:

_handleFormUpdateSubmit(e)
{
    e.preventDefault();

    CocAccountsActions.editAccount(this.state.modalData);
}       
_handleFormSubmit:

_handleFormSubmit(e)
{
    e.preventDefault();

    AccountsActions.addAccount(this.state.modalData);
}
当我点击容器上的某个按钮时。表单提交处理程序正在从添加数据更改为更新数据:

_handleUpdateAccount(id)
{         
    this.setState({
        modalSubmitHandler:this._handleFormUpdateSubmit,
    });
}
此处的结果表单处理程序输出:

render(){
return(
<div>
<form  onSubmit={(e)=>this.state.modalSubmitHandler(e)}>
        ...
render(){
返回(
this.state.modalSubmitHandler(e)}>
...

问题是,当我单击一些具有自身处理程序(图像清除…)的表单元素时,我会使组件重新提交程序和表单提交调用更新数据处理程序(_handleFormUpdateSubmit)。如何避免在重新提交后调用submit函数?

为什么要将
置于此状态。_handleFormSubmit
在formRight的处理程序之间切换,但不能在状态中存储例如布尔值,并再次检查应使用哪种类型的提交处理程序?能否将整个组件包括在问题?很难从当前代码中看出什么可能是错误的。