现在我使用 react-hook-form 进行登录验证。
但是,TypeError: path.split is not a function 错误继续发生时 ref={register} 在输入标签中输入。
import React from 'react';
import {useForm} from "react-hook-form";
import './Auth.css';
export default function Register() {
const {register, errors, watch} = useForm();
return (
<div>
<form>
<label>Email</label>
<input type="email" name="email" ref={register({ required: true})} />
<label>Password</label>
<input type="password" />
<label>Password Confirm</label>
<input type="password"/>
<input type="submit" />
</form>
</div>
);
}
即使我复制粘贴了示例代码,也会出现同样的错误,请问如何解决?
答案 0 :(得分:6)
我认为您将 React Hook Form v7 与 v6 syntqx 结合使用,这就是您收到该错误的原因。
这里有一个类似的问题:https://github.com/react-hook-form/react-hook-form/issues/4595
对于 v7,您必须像这样使用 register
:
<input type="email" {...register('email', { required: true })} />
要么安装 v6,要么安装 v6 文档:https://react-hook-form.com/v6/api#register
答案 1 :(得分:0)
试试这个:
<input placeholder="To" type="email" {...register('email', { required: true })} />