【问题标题】:Formik handleSubmit does nothingFormik handleSubmit 什么都不做
【发布时间】:2021-11-01 22:33:20
【问题描述】:

我有两个组件都包含一个表单,并且我在每个组件中以完全相同的方式实现 Formik,但在一个组件中 handleSubmit 正在工作,而在另一个组件中却没有。

组件代码可以看这里:https://gist.github.com/chris-haupt/c6c0e22851b03a74e504a5ee94a774bd

我只是想在传递给onSubmit 属性的回调中运行任何代码。以前我可以通过将handleSubmit 传递给表单元素来毫无问题地做到这一点。

当我单击提交按钮或按回车键时,没有任何反应。什么都没有。如果我在表单元素上将console.log 传递给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);
  }

但是这段代码对我来说意义不大:/

【问题讨论】:

    标签: javascript reactjs formik


    【解决方案1】:

    事实证明,如果errors 对象中有任何错误,handleSubmit 函数不会触发。在这种情况下,我将 formikValidation 传递给 validate 属性,这是检查该组件上不存在的字段,因此它总是会返回一个错误,指出该字段为空。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-01
      • 2023-01-24
      • 2019-03-08
      • 2016-12-24
      • 2017-04-18
      • 2011-08-03
      • 2014-05-11
      • 2014-09-10
      相关资源
      最近更新 更多