Как добавить пользовательский HTML-тег TSX

При попытке отобразить пользовательский HTML-тег <my-element> в JSX отображается ошибка Свойство не существует для типа «JSX.IntrinsicElements»

Я нашел несколько примеров того, как это сделать, используя

declare global {
  interface IntrinsicElements {
    "my-element": any
  }
}

но это вызвало другую ошибку:

Синтаксис модулей ES2015 предпочтительнее пользовательских модулей и пространств имен TypeScript @typescript-eslint/no-namespace


person Vasilii P    schedule 16.07.2019    source источник


Ответы (1)


Я нашел полезную ссылку на руководство по Typescript. который мне очень помог:

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

export as namespace JSX;

export interface IntrinsicElements {
  "my-element": any;
}
person Vasilii P    schedule 16.07.2019