gpt4 book ai didi

reactjs - React Formik onSubmit Async 调用了两次

转载 作者:行者123 更新时间:2023-12-03 20:54:03 27 4
gpt4 key购买 nike

我正在尝试将异步与 onSubmit 与以下代码用于 React 中的 Formik

import React from "react";
import { Formik, Form, Field } from "formik";
import { Row, Col, Button } from "react-bootstrap";

const AddUser = () => {
const initialValues = {
name: "",
};

return (
<>
<Row className="h-100">
<Col xs={12} sm={1}></Col>
<Col xs={12} sm={10} className="align-self-center">
<div className="block-header px-3 py-2">Add Dataset</div>
<div className="dashboard-block dashboard-dark">
<Formik
initialValues={initialValues}
onSubmit={async (values, { setSubmitting }) => {
alert("hi");
setSubmitting(false);
}}
>
{({ isValid, submitForm, isSubmitting, values }) => {
return (
<Form>
<Field
name="name"
label="Name"
placeholder="Dataset Name"
/>
<Button
type="submit"
disabled={!isValid || isSubmitting}
className="w-100 btn btn-success"
onClick={submitForm}
>
Add Dataset
</Button>
</Form>
);
}}
</Formik>
</div>
</Col>
<Col xs={12} sm={1}></Col>
</Row>
</>
);
};

export default AddUser;

当我尝试提交时。它确实两次提醒“嗨”。当我不使用 onSubmit 作为异步时,它工作正常。

我做错了什么,或者在我需要执行 RestAPI 调用时还有其他方法可以执行异步功能吗?

最佳答案

删除 type="submit" , 因为已经有 Action onClick={submitForm}

<Button
type="submit"
disabled={!isValid || isSubmitting}
className="w-100 btn btn-success"
onClick={submitForm}
>

关于reactjs - React Formik onSubmit Async 调用了两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61557815/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com