React-Hook-Form中TypeScript索引DefaultValues<T>对象时报错如何解决?
React Hook Form 自定义Hook的TypeScript类型错误解决
我创建了一个自定义Hook,用于通过React Hook Form定义表单配置对象。尝试将配置对象中的默认值整合进useForm配置时,在访问已转换为DefaultValues<FormFieldIds>类型的defaultValues对象属性时,遇到了TypeScript类型错误。
问题代码示例
const defaultValues = {} as DefaultValues<FormFieldIds>; const entries = Object.entries(config) as Array< [FieldPath<FormFieldIds>, FormFieldConfig<FormFieldIds>] >; entries.forEach(([id, formFieldConfig]) => { if (formFieldConfig.defaultValue) { defaultValues[id] = formFieldConfig.defaultValue; } });
问题
如何让TypeScript正确识别id的类型?
解决方案(来自Golamrabbi Azad的评论)
将defaultValues的类型断言修改为:
const defaultValues = {} as DefaultValues<FormFieldIds>[FieldPath<FormFieldIds>]
内容的提问来源于stack exchange,提问作者TZR
相关产品推荐
相关产品推荐

