Estoy usando Next.js, TypeScript, cordura y tailwindcss. Estoy tratando de usar el formulario de gancho de reacción pero recibo un error.
He intentado:
Post a una función de flechaPost a una función constIFormInput a un tipoAquí es donde está el error:
23 | formState: { errors }, > 24 | } = useForm<IFormInput>(); | ^ 25 | 26 | return ( 27 | <main>Y este es mi código ([slug].tsx) en la carpeta de páginas :
import { useForm, SubmitHandler } from "react-hook-form"; interface IFormInput { _id: string; name: string; email: string; comment: string; } function Post({ post }: Props) { const { register, handleSubmit, formState: { errors } } = useForm<IFormInput>(); return ( <form> <input {...register("_id")} type="hidden" name="_id" value={post._id} /> <input {...register("name", { required: true })} type="text"/> <input {...register("email", { required: true })} type="text" /> <textarea {...register("comment", { required: true })} /> {errors.name && (<span>- The Name Field is required</span>)} {errors.comment && ( <span>- The Comment Field is required</span>)} {errors.email && ( <span>- The Email Field is required</span>)} <input type="submit" /> </form> ); }Cualquier ayuda es muy apreciada. ¡Gracias!
Decir que no puede leer useRef significa que no está encontrando React. Este problema puede ocurrir si no tiene la versión estable de Node.js, actualmente v16.15.1 , como puede ver en el documento oficial. Si es el caso, asegúrese de degradarlo, y para eso puede usar n paquete de npm :
npm i -gn n stable # if one of the commands does not pass, you may need to use sudo sudo npm i -gn sudo n stable Elimine node_modues , package-lock.json y yarn.lock si está usando yarn . Luego inicie su servidor de desarrollo:
rm -rf node_modules package-lock.json yarn.lock npm install npm run dev