You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复React TypeScript中string类型无法分配给never类型参数的报错

错误根因

Argument of type 'string' is not assignable to parameter of type 'never'报错的本质是react-hook-form的setValue方法无法识别address.city为表单的合法字段,因此推断该字段的可接收类型为never,传入字符串自然不匹配类型要求。

修复步骤
  • 第一步:定义完整的表单值类型
// 按照你的业务表单结构定义类型
interface FormValues {
  // 其他表单字段按需补充
  address: {
    city: string;
    state: string;
    postalCode: string;
  }
}
  • 第二步:给useForm传入定义好的泛型
// 初始化useForm时绑定类型
const formMethods = useForm<FormValues>({
  // 你的原有表单配置,比如默认值、校验规则等
});

完成以上两步后,setValue就可以正确识别address.city字段的类型为string,报错会自动消除。

  • 临时兼容方案(不推荐长期使用)
    如果需要临时跳过类型校验,可以使用类型断言处理字段名:
formMethods.setValue('address.city' as never, city, {
  shouldDirty: true,
  shouldValidate: true,
});

补充说明:需要先确认你定义的UspsCityState类型中city字段的类型为string,避免返回值类型不匹配的问题。

内容的提问来源于stack exchange,提问作者Mark James

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 08:06:03