У меня проблема с классом React.ComponentClass
Тип класса.
Моя версия TypeScript 2.4.2 -
Мой компонент такой:
import * as React from 'react';
import { injectIntl, InjectedIntlProps } from 'react-intl';
interface IBlahProps extends InjectedIntlProps {
}
class BlahBase extends React.Component<IBlahProps> {
}
const Blah = injectIntl(BlahBase);
export default Blah;
Все это прекрасно работает.
Но когда я потребляю этот компонент, вот так:
render() {
return <Blah />
}
<Blah />
подчеркнут, говоря скриншот ниже:
[ts] Тип '{}' нельзя назначить типу
Readonly. Свойство intl отсутствует в типе {}.
импорт Blah
Как я могу понять, почему это так, и как я могу это исправить? Я не хочу делать <Blah intl={intl} />
.
index.d.ts
для injectIntl
выглядит так:
function injectIntl<P>(component: ComponentConstructor<P & InjectedIntlProps>, options?: InjectIntlConfig):
React.ComponentClass<P> & { WrappedComponent: ComponentConstructor<P & InjectedIntlProps> };
Я могу это исправить, изменив интерфейс с расширения InjectedIntlProps
на такой тип:
type IBlahProps = InjectedIntlProps & {
}
Но я понятия не имею, почему расширение InjectedIntlProps
не исправляет это.
![enter image description here](https://i.stack.imgur.com/9s0yc.png)