У меня есть компонент, в котором я передаю опору под названием HtmlTag
, и, исходя из ее значения, я хотел бы расширить интерфейс опоры с помощью правильной базы реквизитов на теге html.
Я пробовал создать тип, который действует как карта, а затем попытался расширить его, например.
type AllAttrs = {
a: AnchorHTMLAttributes,
button: ButtonHTMLAttributes
}
и пробовать на данный момент следующее
interface Props extends AllAttrs["a"] {
sanitize?: string;
}
и я получаю "интерфейс может расширять только другие интерфейсы"
Вот как я использую свой компонент:
<Element
Component="a"
... more props
>Test</Element>
Цель состоит в том, чтобы TS жаловался на отсутствующие реквизиты, такие как href, если он не прошел.