Я играю с компонентом Link
из 4.0.0-beta.2
- у него есть поле component
- возможность переопределить корневой элемент.
Я хочу создать оболочку вокруг Link
- MyLink
и передать компонент через реквизиты:
interface Props {
component: ???
}
const MyLink = ({component}: Props) => {
<MUILink component={component} ... />
}
Так что из определений типов я не понял, как создать окончательный тип component
prop:
declare const Link: OverridableComponent<{
props: LinkBaseProps & {
TypographyClasses?: TypographyProps['classes'];
underline?: 'none' | 'hover' | 'always';
};
defaultComponent: 'a';
classKey: LinkClassKey;
}>;
иOverridableComponent:
/**
* a component whose root component can be controled via a `component` prop
*
* Adjusts valid props based on the type of `component`
*/
export interface OverridableComponent<M extends OverridableTypeMap> {
<C extends React.ElementType>(props: { component: C } & OverrideProps<M, C>): JSX.Element;
(props: DefaultComponentProps<M>): JSX.Element;
}
Может кто-нибудь помочь мне определить тип component
?