redux-forms 版本:6.6.3
react 版本:15.5.0
我想从我的 React 组件中的 componentWillRecieveProps 函数调用不同的提交函数。
componentWillReceiveProps(nextProps) {
if (nextProps.updateTierConfigState == "ValidationFulfilled"
&& nextProps.updateMyConfigValidationClean) {
console.log('CWRP calling submit()')
//this.props.submit(); //THIS CALLS DEFAULT on FORM's onSubmit
this.props.handleSubmit(this.updateSubmit().bind(this))
}
else {
this.props.handleSubmit(this.createSubmit().bind(this))
}
}
updateSubmit(values) {
//do stuff
}
createSubmit(values) {
//do stuff
}
我见过这样的例子:https://github.com/erikras/redux-form/issues/711#issuecomment-191850962
但是,我无法成功调用handleSubmit。它不会调用传入的函数。
我已经调试到handleSubmit,它返回得非常快,没有调用指定的提交函数。
最佳答案
传入函数后,您将立即调用这些函数。引用提交函数时,不需要在函数名称后包含 ()
。 this.updateSubmit().bind(this)
应该是 this.updateSubmit
。您也不需要此处的绑定(bind)。
更改:this.props.handleSubmit(this.updateSubmit().bind(this))
至:this.props.handleSubmit(this.updateSubmit)
关于javascript - Redux-forms 从 ComponentWillRecieveProps 调用备用提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44206746/