next.js TypeError:无法读取null的属性(阅读'useRef')

uemypmqf  于 2022-11-05  发布在  其他
关注(0)|答案(2)|浏览(301)

我正在使用Next.js,TypeScript,sanity和tailwindcss。我试图使用react-hook-form,但收到一个错误。
我试过了:

  • Post函数更改为箭头函数
  • Post函数更改为常量函数
  • IFormInput接口更改为类型

这就是错误所在:

23 |      formState: { errors },
> 24 |  } = useForm<IFormInput>();
     |            ^
  25 | 
  26 |  return (
  27 |      <main>

这是我在pages文件夹中的代码([slug].tsx):

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>
 );
}

如有任何协助,不胜感激。

jgzswidk

jgzswidk1#

我有同样的错误BC我没有安装'React Hook Form'在正确的文件夹中,请确保它在您的package.json中

g6ll5ycj

g6ll5ycj2#

1.首先,查看您的package.json文件,以确保每个使用的库都以"dependencies"devDependencies列出。如果没有,则单独安装它们。
1.第二,确保你的node.js版本没有比上一个recommended版本更上级。如果没有降级,那么你可以使用npm中的n包:


# if one of the commands does not pass, you may need to use sudo

npm i -g n
n stable

# delete node_modules and start over

rm -rf node_modules
npm install

相关问题