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

Redux Form结合TypeScript使用时提示需补全InjectedFormProps所有属性

问题根因

你给reduxForm HOC传入的第二个泛型参数错误,导致TS误判需要父组件传入所有Redux Form自动注入的属性:
reduxForm的第二泛型位要求传入的是外部父组件主动传给表单的属性类型,你传入了包含InjectedFormProps的联合类型TGoldForm,而InjectedFormProps下的20多个属性都是reduxForm HOC自动注入给表单组件的,根本不需要外部传递,所以触发了属性缺失报错。

修复方案

只需要修改你导出表单时reduxForm的泛型参数即可,将原来传入的TGoldForm替换为你定义的外部属性类型IProps:

// 错误写法
// const redForm = reduxForm<IGold, TGoldForm>({
// 正确写法
const redForm = reduxForm<IGold, IProps>({
  form: 'gold',
  validate,
})(GoldForm);

你的其他代码逻辑无需改动:

  • 组件内部定义的TGoldForm = InjectedFormProps<IGold, IProps> & IProps依然有效,这个是表单组件内部接收的全量属性类型,包含了外部传入和自动注入的属性
  • 父组件传递属性的逻辑也无需改动,TS会自动校验你传的属性是否符合IProps的定义

额外可选优化

如果后续你需要给表单传递initialValues、enableReinitialize这类Redux Form支持的外部配置属性,可以直接加在IProps的类型定义里即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 05:51:04