如何在 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);