下面是一个实用且稍复杂的 React Hook Form 使用实例,适合有一定 React 基础的程序员,涵盖表单验证、条件渲染、异步提交、以及错误处理。
import React from "react";
import { useForm, Controller } from "react-hook-form";
const sleep = ms => new Promise(res => setTimeout(res, ms));
export default function ComplexForm() {
const {
register,
handleSubmit,
watch,
control,
formState: { errors, isSubmitting },
setError,
clearErrors,
} = useForm({
mode: "onBlur",
defaultValues: {
username: "",
email: "",
password: "",
confirmPassword: "",
userType: "user",
newsletter: false,
},
});
const userType = watch("userType");
const onSubmit = as