Reactjs 如何使用react hook表单发送表单数据?

Reactjs 如何使用react hook表单发送表单数据?,reactjs,Reactjs,我是第一次使用react hook表单。我正在尝试将数据发送回我的服务器,但每当我点击submit时,我都无法在第一次尝试中发送数据。但是如果我再次提交,则会将值成功提交到我的服务器 const RegisterUser=()=>{ 常量[formData,setFormData]=useState({ 名字:“, 姓氏:“, 电邮:“, 密码:“”, 电话号码:“, }); const schema=yup.object().shape({ firstname:yup.string().re

我是第一次使用react hook表单。我正在尝试将数据发送回我的服务器,但每当我点击submit时,我都无法在第一次尝试中发送数据。但是如果我再次提交,则会将值成功提交到我的服务器

const RegisterUser=()=>{
常量[formData,setFormData]=useState({
名字:“,
姓氏:“,
电邮:“,
密码:“”,
电话号码:“,
});
const schema=yup.object().shape({
firstname:yup.string().required(“需要名字”),
lastname:yup.string().required(“需要姓氏”),
电子邮件:yup.string().required(“需要电子邮件”),
密码:yup.string().required(“需要密码”),
});
常量{register,handleSubmit,errors}=useForm({
模式:“onBlur”,
解析程序:yupResolver(模式),
});
const{email,password}=formData;
const handleFormSubmit=异步(数据)=>{
setFormData({
电子邮件:data.email,
密码:data.password
});
const newUser={email,password};
试一试{
常量配置={
标题:{
“内容类型”:“应用程序/json”,
},
};
const body=JSON.stringify(newUser);
等待axios.post(`http://localhost:5000/users`,body,config);
}捕捉(错误){
控制台日志(err);
}
// }
};
返回(
提交

我认为您不需要使用async函数来设置数据。如果没有async,它应该可以工作。即使没有async,我仍然无法在第一次尝试时发送数据。我认为您不需要使用async函数来设置数据。如果没有async,它应该可以工作。即使没有async,我仍然无法在第一次尝试时发送数据
const RegisterUser = () => {
  const [formData, setFormData] = useState({
    firstname: "",
    lastname: "",
    email: "",
    password: "",
    phoneNo: "",
  });
  const schema = yup.object().shape({
    firstname: yup.string().required("First name is required"),
    lastname: yup.string().required("Last name is required"),
    email: yup.string().required("Email is required"),
    password: yup.string().required("Password is required"),
  });
  const { register, handleSubmit, errors } = useForm({
    mode: "onBlur",
    resolver: yupResolver(schema),
  });
const {email, password} = formData;
  const handleFormSubmit = async (data) => {
    setFormData({
      email: data.email,
      password: data.password
    });
const newUser = { email, password};
    try {
      const config = {
        headers: {
          "Content-Type": "application/json",
        },
      };
      const body = JSON.stringify(newUser);
      await axios.post(`http://localhost:5000/users`, body, config);
    } catch (err) {
      console.log(err);
    }
    // }
  };

  return (
    <Container>
      <Form onSubmit={handleSubmit(handleFormSubmit)}>
        <Input
          type="email"
          label="Email"
          name="email"
          ref={register}
          error={!!errors.email}
          helperText={errors?.email?.message}
        />

        <Input
          type="password"
          label="Password"
          name="password"
          ref={register}
          error={!!errors.password}
          helperText={errors?.password?.message}
        />
        <Button type="submit" className="btn btn-primary">
          Submit
        </Button>
      </Form>