Как правильно использовать добавление модуля typcript для компонентов material-ui? - PullRequest
0 голосов
/ 05 сентября 2018

Я прочитал существующие ответы здесь и здесь , но они кажутся устаревшими.

Я попробовал следующее, чтобы расширить определение типа для компонента кнопки, как в отдельном файле для ввода (.d.ts), так и в самом компоненте реакции, но безрезультатно.

declare module "@material-ui/core/Button" {
  export interface ButtonProps {
    to?: string;  
  }
}

Когда я помещаю его в отдельный файл .d.ts, я получаю 'Кнопка типа элемента JSX', не имеющая никакой конструкции или сигнатуры вызова. ' ошибка.

Если поместить в тот же файл, что и сам компонент, компилятор просто жалуется, что свойство 'to' не существует для типа 'IntrinsicAttributes & ButtonProps & {children ?: ReactNode; } 'как будто ничего не было определено вообще.

Поэтому мне интересно узнать о текущем правильном способе дополнения определений типов компонентов в material-ui (v3.0.2).

Спасибо и ура

1 Ответ

0 голосов
/ 05 сентября 2018

Интерфейс ButtonProps фактически объявлен в модуле @material-ui/core/Button/Button. Следующий код в вашем файле компонента должен работать:

declare module "@material-ui/core/Button/Button" {
  export interface ButtonProps {
    to?: string;  
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...