我有两个组件都包含一个表单,我在每个组件中以完全相同的方式实现 Formik,但在一个组件handleSubmit
中工作,而在另一个组件中却没有。
组件代码可以在这里查看:https : //gist.github.com/chris-haupt/c6c0e22851b03a74e504a5ee94a774bd
我只是想在传递给prop的回调中运行任何代码onSubmit
。以前,我可以通过传递handleSubmit
给表单元素来毫无问题地做到这一点。
当我单击提交按钮或按 Enter 键时,没有任何反应。什么都没有。如果我在表单元素上传递一个console.log
to onSubmit
,那么日志就会很好地触发。因此,出于某种原因,在handleSubmit
未正确传递的情况下存在断开连接。
证据我有最后一个位是console.log
的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);
}
但是这段代码对我来说意义不大:/
事实证明,handleSubmit
如果errors
对象中有任何错误,该函数不会触发。在这种情况下,我传递formikValidation
给validate
prop,这是检查此组件上不存在的字段,因此它总是会返回一个错误,指出该字段为空。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句