Typescript 如何在用reduxForm包装的组件内使用FormInstance道具(提交)

Typescript 如何在用reduxForm包装的组件内使用FormInstance道具(提交),typescript,redux-form,Typescript,Redux Form,在我们的项目中,由于自定义中间件,我们使用submit而不是handleSubmit(这不会触发submit操作),例如 有人知道如何让TS满意吗?我是做错了什么,还是内部问题?我发现submit是的一部分,但不知道如何正确使用它 有效的解决方案,但我认为它们只是权宜之计: 修改node_modules/@types/redux form/lib/reduxForm.d.ts并添加submit():void插入InjectedFormProps 作为定制道具通过提交,例如——更多的工作,强制不同

在我们的项目中,由于自定义中间件,我们使用
submit
而不是
handleSubmit
(这不会触发
submit
操作),例如

有人知道如何让TS满意吗?我是做错了什么,还是内部问题?我发现
submit
是的一部分,但不知道如何正确使用它

有效的解决方案,但我认为它们只是权宜之计:

  • 修改
    node_modules/@types/redux form/lib/reduxForm.d.ts
    并添加
    submit():void插入
    InjectedFormProps
  • 作为定制道具通过
    提交
    ,例如
    ——更多的工作,强制不同的组合
  • 我们使用的软件包:

    • “redux表单”:“8.3.7”,
    • “@types/redux表单”:“8.3.1”,
    如有任何反馈,我将不胜感激

    <Form onSubmit={submitting ? null : submit} />
      // instead of 
    <Form onSubmit={submitting ? null : handleSubmit} />
    
    type TestFormProps = { foo?: string};
    type InjectedPropsTest = InjectedFormProps<FormData, TestFormProps>
    
    class TestFormComponent extends React.Component<TestFormProps & InjectedPropsTest> {
        render() {
            // this.props.submit doesn't compile with following error:
            // Property 'submit' does not exist on type 
            // 'Readonly<TestFormProps & InjectedPropsTest> & Readonly<{ children?: ReactNode; }>'.
            // ts(2339)
    
            console.log('submit', this.props.submit());
            
            // doesn't compile but without TS code works fine because `submit` prop exists
            return <Form onSubmit={submitting ? null : this.props.submit} />
        }
    }