Игнорировать отсутствие перегрузки при наличии декоратора - PullRequest
0 голосов
/ 15 октября 2019

Я использую экспериментальные декораторы с TypeScript в React.

Библиотека, которую я использую для форм - из Ant Design, и декоратор вставляет свойство form в мой компонент.

У меня есть объявление Component, подобное этому:

interface IProps {
  form: any
}
@Form.create()
class Component extends React.Component<IProps> { ... }

Теперь, когда я хочу использовать этот компонент без свойства form, вот так

<Component/>

Я получаю следующую ошибку TS

TS2769

Никакая перегрузка не соответствует этому вызову.

Перегрузка 1 из 2, '(props: Readonly): Component', выдала следующую ошибку. Свойство 'form' отсутствует в типе '{}', но требуется в типе 'Readonly'.

Перегрузка 2 из 2, '(props: IProps, context ?: any): Component', возникла следующая ошибка,Свойство 'form' отсутствует в типе '{}', но требуется в типе 'Readonly'.

Теперь я могу просто сделать свойство form необязательным с пометкой ?, но это нехорошо, и когда я хочу еще больше набрать form, например

interface IFields {
    "name": string;
}
interface IProps extends FormComponentProps<IFields> { ... }

это действительно становится неосуществимым.

Как мне сказать TypeScript, что свойство form вводится через декоратор?

...