Reactjs 如何仅在表单通过react hook表单验证时执行POST请求?
我想在盖茨比项目中使用FlexyForm创建一个联系人表单,以便通过电子邮件发送信息。它的设置非常简单,您只需添加到一个普通表单HTML标记-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请求 我填写表单以满足验证,并点击发送按钮,但除了将寄存器记录到控制台
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);
}