react-hook-form - 获取未捕获的类型错误:path.split 不是反应中的函数
问题描述
我正在尝试对我的表单进行验证。我选择了“react-hook-form”库。但是我经常收到错误“Path.split 不是函数。即使使用了他们网站中给出的默认示例,我也会遇到同样的错误。这是官方网站中给出的默认代码。
import React from "react";
import { useForm } from "react-hook-form";
export default function App() {
const { register, handleSubmit, watch, errors } = useForm();
const onSubmit = data => console.log(data);
console.log(watch("example")); // watch input value by passing the name of it
return (
{/* "handleSubmit" will validate your inputs before invoking "onSubmit" */}
<form onSubmit={handleSubmit(onSubmit)}>
{/* register your input into the hook by invoking the "register" function */}
<input name="example" defaultValue="test" ref={register} />
{/* include validation with required or other standard HTML validation rules */}
<input name="exampleRequired" ref={register({ required: true })} />
{/* errors will return when field validation fails */}
{errors.exampleRequired && <span>This field is required</span>}
<input type="submit" />
</form>
);
}
解决方案
react-hook-form 从 6.XX 更新到 7.0.0 并且有重大变化:
你必须全部替换ref={register}
为{...register('value_name')}
例子:
版本 6.XX:
<input ref={register({ required: true })} name="test" />
7.0.X 版:
<input {...register('test', { required: true })} />
推荐阅读
- lua - 当我尝试要求不同目录中的文件时出现文件错误
- python - 如何使用 PIL 显示值为 [0, 1] 的图像
- python - 无效频率:pandas.Series.dt.to_period 中的 SM-15
- ios - 如何将 SwiftUI 中的颜色类型存储到 CoreData 中?
- jquery - 在调整大小期间将过渡设置为无
- android - Laravel 中的 FCM 配置问题推送通知 Android 和 iOs
- julia - 无法将 DataFrame 转换为系列数据以在 julia 中绘图
- reactjs - 将 useRef 钩子传递给 ref 属性的正确方法
- javascript - 我网站上的 Javascript QR 扫描仪在移动浏览器上不起作用
- mongodb - 如何更新mongo-driver-go中指定数量的文档,就像mysql`update table set filed = dxx limit 50`