如何使用 useForm 钩子获取输入值,然后使用 json-server 执行 POST?
Posted
技术标签:
【中文标题】如何使用 useForm 钩子获取输入值,然后使用 json-server 执行 POST?【英文标题】:How can i get an input value with useForm hook and then perform a POST with json-server? 【发布时间】:2021-08-12 10:06:33 【问题描述】:我是 ReactJs 的新手,正在尝试使用 json-server 在假 API 中创建 CRUD。如何正确使用 useForm Hook 并执行用户名和电子邮件的 POST?
import React from "react";
import useForm from "react-hook-form";
import Form from "../Form";
import Field from "../Field";
import Button from "../Button";
const FormNew = () =>
const register, handleSubmit = useForm();
const newUser = (user) =>
console.log(user);
const url = "http://localhost:3002/posts";
fetch(url,
method: "POST",
headers:
"Content-type": "application/json",
,
body: JSON.stringify(
name: "example-name",
email: "example@mail.com",
),
)
.then((resp) => resp.json())
.then((user) =>
console.log("User created success", user);
);
;
return (
<Form onSubmit=handleSubmit(newUser)>
<Field.Text label="Name" name="name" type="text" ...register />
<Field.Text label="Email" name="email" type="email" ...register />
<Button>Submit</Button>
</Form>
);
;
export default FormNew;
【问题讨论】:
【参考方案1】:您必须在
<Form onSubmit=handleSubmit(newUser)>
<Field.Text label="Name" name="name" type="text" ...register('name') />
<Field.Text label="Email" name="email" type="email" ...register('email') />
<Button>Submit</Button>
</Form>
【讨论】:
以上是关于如何使用 useForm 钩子获取输入值,然后使用 json-server 执行 POST?的主要内容,如果未能解决你的问题,请参考以下文章
如何将输入值从子表单组件传递到其父组件的状态以使用反应钩子提交?
使用 React 的 useState 钩子时输入可空状态的正确方法