Formik 表单提交时怎么获取最新值?

子硕🍀 阅读 4

我用 Formik 写了个表单,但在 handleSubmit 里拿到的 values 好像不是最新的,明明输入框已经改了内容,但打印出来还是初始值。是不是哪里没配对?

我试过把 initialValues 改成 state,也加了 enableReinitialize,但问题还在。比如下面这样:

const MyForm = () => {
  return (
    <Formik
      initialValues={{ name: 'old' }}
      onSubmit={(values) => console.log(values)}
    >
      {({ values }) => (
        <Form>
          <Field name="name" />
          <button type="submit">提交</button>
        </Form>
      )}
    </Formik>
  );
};

点提交时控制台输出的 name 还是 ‘old’,哪怕我在输入框里改成了 ‘new’,这正常吗?

我来解答 赞 1 收藏
二维码
手机扫码查看
暂无解答

暂无解答