有没有一种方法可以声明具有不同主要元素的样式化组件?

时间:2019-06-07 13:54:33

标签: reactjs styled-components

我需要创建2个样式相似的组件,这些组件将共享它们的样式,但使用不同的HTML元素。

在运行时有一种方法可以使用“ as”属性(),但是我有一个特定的导出项,我需要使用默认值,但是我需要以某种方式使用默认值而不使用它,因此链接样式组件是“ styled.a”,而StyledLink组件是“ styled.span”,我试图做类似的事情:

export const StyledLink = styled.span(`
  color: ${props => props.theme.colors.mainLinkColor};;
  text-decoration: underline;

  &:hover {
    color: ${props => props.theme.colors.textAccent};
    text-decoration: underline;
  }
`);

export const Link = <StyledLink as={RRLink} />;

那显然是行不通的...那么,链接是否可以模仿StyledLink样式,但使用“ a”标签代替“ span”呢?

1 个答案:

答案 0 :(得分:2)

仅从bool Headphones::isHeadsetPluggedIn() { @autoreleasepool { AVAudioSessionRouteDescription* route = [[AVAudioSession sharedInstance] currentRoute]; for (AVAudioSessionPortDescription* desc in [route outputs]) { if ([[desc portType] isEqualToString:AVAudioSessionPortBuiltInSpeaker]) { return NO; } } return YES; } } 导入并使用css,就像这样:

styled-components