@ types / реагировать-переходная группа: универсальный тип 'ReactElement'требует от 1 до 2 типа arguments.ts (2707) - PullRequest
0 голосов
/ 14 февраля 2019

Я только что получил это.

Оказывается, в файле node_modules/@types/react-transition-group/TransitionGroup.d.ts

есть этот тип:

  type TransitionGroupProps<T extends keyof JSX.IntrinsicElements = "div", V extends ReactType = any> =
        (IntrinsicTransitionGroupProps<T> & JSX.IntrinsicElements[T]) | (ComponentTransitionGroupProps<V>) & {
        children?: ReactElement<TransitionProps> | Array<ReactElement<TransitionProps>>;
        childFactory?(child: ReactElement): ReactElement;
        [prop: string]: any;
    };

И этосбой компиляции с этой ошибкой:

ERROR in [at-loader] ./node_modules/@types/react-transition-group/TransitionGroup.d.ts:16:30 
    TS2707: Generic type 'ReactElement<P, T>' requires between 1 and 2 type arguments.

ERROR in [at-loader] ./node_modules/@types/react-transition-group/TransitionGroup.d.ts:16:45 
    TS2707: Generic type 'ReactElement<P, T>' requires between 1 and 2 type arguments.

Я обнаружил, что если я заменю это:

childFactory?(child: ReactElement): ReactElement; 

для этого:

childFactory?(child: ReactElement<any, any>): ReactElement<any, any>;

Ноэто не настоящее решение или проблема, я думаю ...

Как мне это исправить?

Ответы [ 2 ]

0 голосов
/ 14 мая 2019

Похоже, этот коммит удалил все значения шаблона и вызвал разрыв.Я смог решить эту проблему путем явного добавления версии (2.0.15) в пакет.

npm install @types/react-transition-group@2.0.15

2.0.15 - последняя версия, которая работает.2.0.16 и новее содержит неверный коммит.

0 голосов
/ 15 февраля 2019

У меня была такая же проблема, и есть очень похожая проблема , о которой только что сообщили для модуля @types/recompose.В качестве временного исправления я удалил @types/react-transition-group и добавил файл types/react-transition-group.d.ts в корень моего проекта со следующим:

declare module 'react-transition-group' {
    export const CSSTransitionGroup: any
}

По крайней мере, тогда вы не меняете вещи из папки node_modules,Я использую v1 из react-transition-group, поэтому ваше определение местозаполнителя может выглядеть немного иначе.Конечно, вы потеряете все подсказки по типу, которые вы не предоставили сами, поэтому, возможно, стоит подумать и о репозитории GitHub, чтобы они могли исправить ситуацию, если проблема recompose не актуальна.

...