Я даже не уверен, что правильно написал вопрос, поэтому возьмите его с крошкой соли. Я хотел бы знать, как применить функцию Omit <> к параметризованному значению типа generi c?
. Я хочу, чтобы это выдало ошибку компилятора, поскольку тег не должен поддерживаться * 1003. *
<ModalBody tag={'bjaisd'}></ModalBody>
Вот мой код типа модуля
declare module 'shards-react' {
class BaseShardsComponent<T> extends React.Component<{
className?: string,
tag?: string | keyof HTMLElementTagNameMap,
} & T> {}
export class ModalBody extends BaseShardsComponent {}
}
Каким-то образом в реализации ModalBody я хочу получить доступ к параметризованному значению, определенному как
{
className?: string,
tag?: string | keyof HTMLElementTagNameMap,
} & T
И переносу весь этот союз в Omit<type, 'tag'>
, но я понятия не имею, каким может быть синтаксис или вообще возможно ли это. Также я не хочу влиять на любые другие реализации, расширяющиеся от BaseShardsComponent. Это особый случай.