React Styled-Components:参考其他组件

Lc0rE

根据样式化组件文档,我可以引用另一个组件来触发,例如,悬停效果。

const Link = styled.a`
    display: flex;
    align-items: center;
    padding: 5px 10px;
    background: papayawhip;
    color: palevioletred;
`;

const Link2 = styled.a`
    display: flex;
    align-items: center;
    padding: 5px 10px;
    background: steelblue;
    color: white;

    ${Link}:hover & {
        background-color: greenyellow;
        color: black;
    }
`;

class Hello extends React.Component{
  render() {
    return(
      <div>
        <Link>Hello World</Link>
        <Link2>Hello Again</Link2>
      </div>
    )
  }
}

基本上,我的鼠标悬停<Link>应触发改变background-color<Link2>

这没有发生。有什么想法吗?

我在这里准备了一个代码片段:https : //codesandbox.io/s/qv34lox494

阿德里安·拉克鲁瓦(Adrien Lacroix)

您可以引用样式化组件,它们是样式化组件的子项,而不是并行的。

请参阅文档中的报价:

在这里,我们的Icon组件定义了其对悬停其父Link的响应

对于您的问题,可以为两个链接创建一个包装器,并在CSS中使用相邻的兄弟选择器,如下所示:

const Wrapper = styled.div`
    & ${Link}:hover + ${Link2} {
        background-color: greenyellow;
        color: black;
    }
`;

https://codesandbox.io/s/mo7kny3lmx

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Styled Components:同时嵌套和引用其他组件

styled-components表示在您的React组件(Component)周围包装了styled()

React Styled-Components 传递道具问题

React Styled 组件未显示正确的输出

React Styled Components-如何访问原始HTML

React Styled-Components CSS向子元素添加!important

nextjs + react-native-web + styled-components:warnOnce

React Styled-Components 3个按钮大小

React Styled Components条件三元运算符

React Styled-Components主题-提供者动态主题

用React Styled-Components导入scss变量的最佳方法?

导入 .less 变量以在 React Styled Components 中使用

如何在React Styled-Components中设置子组件的样式

使用React Styled Components在两种类型的组件之间共享相同的样式

Styled-components 和 react-icons <IconContext.Provider> 组件

使用 styled-component 修改 css react 组件

使用 react 和 styled 组件打印时如何隐藏按钮?

nx React/Next.js styled-components 共享类型声明文件 styled.d.ts

Styled Components 渲染基于 props 的 Styled 标签

React + Styled Components-分离并重复使用CSS“捆绑包”

React Styled Components:ReferenceError:初始化前无法访问

React-Native-Styled-Components:类型“DefaultTheme”上不存在属性“backgroundColor”

在新的React版本中,如何修复TypeError:styled_components__WEBPACK_IMPORTED_MODULE_3__.default.dev?

如何在 React Styled Components 中仅为一个道具制作多种样式?

React Styled-Components-如何根据道具条件或伪类渲染样式?

使用状态来自定义样式的react + styled-components

TypeError:styled_components__WEBPACK_IMPORTED_MODULE_0 __。default.vedio不是对React的函数

Storybook + Ionic React + styled-components CSS 順序問題

React, styled-components - 显示光标:指针;如果菜单打开,在页面上?