I'm working on a React Ts Header that has some variants.
the Header Component has two variants Named HomeHeader and DefaultHeader
Here only the DefaultHeader needs a required prop title whereas HomeHeader doesn't.
now how to type the HeaderProps HomeHeaderProps and DefaultHeaderProps
the current implementation (not perfect)
interface HeaderProps {
variant?: "DEFAULT" | "HOME";
classes?: string;
title?: string;
};
variant VariantHeaderProps {
classes?: string;
title?: string
};
and are used as
const Header: FC<HeaderProps> = ({ variant = "DEFAULT", classes, title })
const DefaultHeader: FC<VariantHeaderProps> = ({ classes, title })
const HomeHeader: FC<VariantHeaderProps> = ({ classes })