Компонент высокого порядка с коннектом отact-redux не работает с типизацией Typescript - PullRequest
0 голосов
/ 18 июня 2019

Я создал High Order Component, который ДОЛЖЕН быть подключен к избыточному хранилищу с помощью функции подключения.На самом деле все работает в простом Javascript, но я хотел бы использовать Typescript здесь.Существует одна ошибка, связанная с набором реквизита .

Я использую универсальный тип для обернутого компонента реквизита, а также мой компонент высокого порядка имеет свой собственный тип реквизита.Поэтому я хочу подключить их с помощью оператора & , но я получаю сообщение об ошибке от функции подключения ..

WithSatsFormProps - пустой интерфейс

const withSatsForm =
    <P, K>(options: WithSatsFormOptions<K>) =>
        (SatsComponent: ComponentType<P>) => {
            class WithSatsForm extends Component<WithSatsFormProps & P> { <-- because of this
                constructor(props: WithSatsFormProps & P) {
                    super(props);
                }

                public render() {
                    return (
                        <div>
                            <SatsComponent {...this.props as P} />
                        </div>
                    )
                }
            }

            return connect()(WithSatsForm); <-- here is error typing
        }

export default withSatsForm;

Сообщение об ошибке:

Аргумент типа 'typeof WithSatsForm' нельзя назначить параметру типа 'ComponentType, WithSatsFormProps & P >>'.Тип typeof WithSatsForm нельзя назначить типу ComponentClass, WithSatsFormProps & P>, любому>.Типы параметров «реквизит» и «реквизит» несовместимы.

1 Ответ

0 голосов
/ 18 июня 2019
...