React Hook Form数字FieldArray字段名TypeScript类型错误求助
解决react-hook-form FieldArray的
Type 'string' is not assignable to type 'never'类型错误 问题原因
该错误源于TypeScript类型推断失效,useFieldArray未能正确识别表单字段的类型,错误地将name属性的类型判定为never。
解决方法
显式指定
useFieldArray的泛型参数
调用useFieldArray时,明确传入表单值类型和字段名称的字面量类型,强制TypeScript匹配正确类型:const { fields, append } = useFieldArray<FormValues, "numbers">({ control, name: "numbers" });此操作会覆盖错误的自动推断结果,直接解决类型不匹配问题。
确保表单类型定义准确
检查FormValues的类型声明,保证数组字段的定义清晰无歧义。比如你的代码中:type FormValues = { numbers: number[]; };该定义本身是正确的,但如果类型存在模糊性,也会引发推断失败,需确保类型表述精准。
保证依赖版本兼容
使用react-hook-form的最新稳定版本(v7.x系列),同时确保TypeScript版本在4.5及以上,避免因版本不兼容导致的类型系统异常。
内容的提问来源于stack exchange,提问作者The Truth
相关产品推荐
相关产品推荐

