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