Reactjs 如何仅在表单通过react hook表单验证时执行POST请求?

Reactjs 如何仅在表单通过react hook表单验证时执行POST请求?,reactjs,gatsby,react-hook-form,Reactjs,Gatsby,React Hook Form,我想在盖茨比项目中使用FlexyForm创建一个联系人表单,以便通过电子邮件发送信息。它的设置非常简单,您只需添加到一个普通表单HTML标记-method=“post”action=”https://www.flexyform.com/f/flexyformkey“ 所以我有一个这样的表单,它正在运行,然后我想添加表单验证,所以我使用react-hook表单,验证非常有效,但是在验证之后,它不会向FlexyForm发出post请求 我填写表单以满足验证,并点击发送按钮,但除了将寄存器记录到控制台

我想在盖茨比项目中使用FlexyForm创建一个联系人表单,以便通过电子邮件发送信息。它的设置非常简单,您只需添加到一个普通表单HTML标记-
method=“post”action=”https://www.flexyform.com/f/flexyformkey“

所以我有一个这样的表单,它正在运行,然后我想添加表单验证,所以我使用react-hook表单,验证非常有效,但是在验证之后,它不会向FlexyForm发出post请求

我填写表单以满足验证,并点击发送按钮,但除了将寄存器记录到控制台之外,什么都没有发生。如果没有react钩子表单,它通常会将我重定向到接收数据后将FlexyForm设置为重定向的任何位置

沙箱: (^^由于明显的原因,它不包括密钥)

后来我想我应该使用
fetch
onSubmit
中发出一个post请求,但我不确定该在其中放什么


我对盖茨比和盖茨比的反应还不太熟悉,所以可能是我遗漏了什么。

是的,你应该在提交时使用fetch-in。试试这个

const onSubmit = async (data) => {
    const requestOptions = {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify(data)
    };

    const response = await fetch([URL_IS_HERE], requestOptions);
    const jsonData = await response.json();

    console.log(jsonData);
}

是的,您应该使用fetch-in-onSubmit。试试这个

const onSubmit = async (data) => {
    const requestOptions = {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify(data)
    };

    const response = await fetch([URL_IS_HERE], requestOptions);
    const jsonData = await response.json();

    console.log(jsonData);
}