簡體   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