@ChristianRavn Я не использовал редукс-форму с момента своего ответа, поэтому я не чувствовал необходимости больше смотреть. В чем проблема с ответом Дениса?

аюсь передать пользовательский реквизит для моего компонента, который украшенreduxForm, Также я очень новичок в Typescript.

Первая проблема заключается в том, что я не могу обернуть украшенный компонент с помощью connect:

export default
    connect(mapStateToProps)(
        reduxForm({
            form: 'myform'
        })(MyComponent)
    )

Ошибка:

Error:(89, 5) TS2345:Argument of type 'DecoratedComponentClass<any, Partial<ConfigProps<any, {}>>>' is not assignable to parameter of type 'ComponentType<{ addressValue: any; isDeliveryAddress: any; customerTypeValue: any; } & DispatchPr...'.
Type 'DecoratedComponentClass<any, Partial<ConfigProps<any, {}>>>' is not assignable to type 'StatelessComponent<{ addressValue: any; isDeliveryAddress: any; customerTypeValue: any; } & Dispa...'.
Type 'DecoratedComponentClass<any, Partial<ConfigProps<any, {}>>>' provides no match for the signature '(props: { addressValue: any; isDeliveryAddress: any; customerTypeValue: any; } & DispatchProp<any> & { children?: ReactNode; }, context?: any): ReactElement<any> | null'.

Это, очевидно, вызвано неправильными типами, но, как я уже сказал, я новичок в Typescript, и я не уверен, что делать с этими длинными ошибками. На данный момент мне не нужно передавать какие-либо реквизитыvalidate функция формы, но это будет очень полезно для будущих задач.

Основная проблема в том, что я не могу передать пользовательский реквизит декорированному компоненту:

export default reduxForm({
    form: 'myform'
})(
    connect(mapStateToProps)(MyComponent)
);

форма реквизита:

interface Props extends InjectedFormProps {
    onSubmit: () => void;
    // some values from the state
    loading: boolean; // the custom prop
}

и когда я пытаюсь это:

<MyForm loading onSubmit={this.handleSubmit} />

выдает еще одну ошибку:

Error:(134, 25) TS2339:Property 'loading' does not exist on type 'IntrinsicAttributes & IntrinsicClassAttributes<FormInstance<any, Partial<ConfigProps<any, {}>>>> ...'.

Странно то, что я могу передавать реквизит, который объявлен вInjectedFormProps интерфейс, но я не могу передать какие-либо специальные реквизиты. На самом деле, я могу передать любые реквизиты изmapStateToProps функция. Может быть, я просто не могу передать какие-либо специальные реквизиты для украшенного компонента сreduxForm.

Ответы на вопрос(2)

Ваш ответ на вопрос