繁体   English   中英

使用变体输入 React Props

[英]Typing React Props with variants

我正在研究具有一些变体的 React Ts Header。 Header 组件有两个变体,分别命名为HomeHeaderDefaultHeader这里只有 DefaultHeader 需要一个必需的属性title ,而 HomeHeader 不需要。

现在如何键入 HeaderProps HomeHeaderProps 和 DefaultHeaderProps

当前的实现(不完美)

interface HeaderProps {
  variant?: "DEFAULT" | "HOME";
  classes?: string;
  title?: string;
};

variant VariantHeaderProps {
   classes?: string;
   title?: string
};

并用作

const Header: FC<HeaderProps> = ({ variant = "DEFAULT", classes, title })

const DefaultHeader: FC<VariantHeaderProps> = ({ classes, title })

const HomeHeader: FC<VariantHeaderProps> = ({ classes })

HeaderProps扩展一个新接口并将title定义覆盖为必需的属性,就像这样。

interface DefaultHeaderProps extends HeaderProps {
  title: string;
};

并用它声明DefaultHeader

const DefaultHeader: FC<DefaultHeaderProps> = ({ classes, title })

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM