Formik handleSubmit 什么都不做
Formik handleSubmit does nothing
我有两个组件都包含一个表单,我在每个组件中以完全相同的方式实现 Formik,但在一个组件中 handleSubmit
可以正常工作,而在另一个组件中则不能。
组件代码可以在这里查看:https://gist.github.com/chris-haupt/c6c0e22851b03a74e504a5ee94a774bd
我只是想 运行 任何 回调中的代码被传递给 onSubmit
道具。以前我可以通过将 handleSubmit
传递给表单元素来毫无问题地做到这一点。
当我单击提交按钮或按回车键时,没有任何反应。什么都没有。如果我在表单元素上将 console.log
传递给 onSubmit
,那么日志就会正常触发。因此,出于某种原因,在 handleSubmit
未正确传递的情况下存在断开连接。
我拥有的最后一点证据是 console.log
of onSubmit.toString()
:
function () {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return ref.current.apply(void 0, args);
}
但是这段代码对我来说意义不大:/
事实证明,如果 errors
对象中有任何错误,handleSubmit
函数不会触发。在这种情况下,我将 formikValidation
传递给 validate
道具,这是在检查该组件上不存在的字段,因此它总是 return 一个错误,指出该字段为空.
我有两个组件都包含一个表单,我在每个组件中以完全相同的方式实现 Formik,但在一个组件中 handleSubmit
可以正常工作,而在另一个组件中则不能。
组件代码可以在这里查看:https://gist.github.com/chris-haupt/c6c0e22851b03a74e504a5ee94a774bd
我只是想 运行 任何 回调中的代码被传递给 onSubmit
道具。以前我可以通过将 handleSubmit
传递给表单元素来毫无问题地做到这一点。
当我单击提交按钮或按回车键时,没有任何反应。什么都没有。如果我在表单元素上将 console.log
传递给 onSubmit
,那么日志就会正常触发。因此,出于某种原因,在 handleSubmit
未正确传递的情况下存在断开连接。
我拥有的最后一点证据是 console.log
of onSubmit.toString()
:
function () {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return ref.current.apply(void 0, args);
}
但是这段代码对我来说意义不大:/
事实证明,如果 errors
对象中有任何错误,handleSubmit
函数不会触发。在这种情况下,我将 formikValidation
传递给 validate
道具,这是在检查该组件上不存在的字段,因此它总是 return 一个错误,指出该字段为空.