繁体   English   中英

如何在 onSubmit 处理程序上使用 formik 的 setSubmitting() 方法?

[英]How can I use formik's setSubmitting() method on onSubmit handler?

我尝试在 onSubmit 处理程序中调用 formik 的 setSubmitting 方法。 首先,我为 formik 创建一个 ref ,如下所示:

const formikRef = React.createRef();

然后我尝试在 onSubmit 处理程序中调用它:

function Add() {
    const formikRef = React.createRef();
    const onSubmit = (e) => {
        console.log(e);
        setTimeout(() => {
            formikRef.setSubmitting(false);
        }, 4000);
    };

    return (
        <Formik
            innerRef={formikRef}
            initialValues={initialValues}
            onSubmit={onSubmit}
            validationSchema={validationSchema}
        >
            {(props) => {
                return (
                    <Form>
                        ...
                    </Form>
                );
            }}
        </Formik>
    );
}

export default Add;

但它会抛出这样的错误:

TypeError: formikRef.setSubmitting is not a function

如何在有或没有 formik 的 innerRef 的情况下使用 formik 的 setSubmitting() onSubmit 函数?

ref在 react 中的值位于名为current的属性内。 正确的方法是:

formikRef.current.setSubmitting(false);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM