首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法将嵌套的JSS样式的组件定位在另一个JSS样式的组件中?[JSS-嵌套/样式-JSS/材质UI (React)]

有没有办法将嵌套的JSS样式的组件定位在另一个JSS样式的组件中?[JSS-嵌套/样式-JSS/材质UI (React)]
EN

Stack Overflow用户
提问于 2021-02-05 07:51:49
回答 2查看 266关注 0票数 1

是否可以像样式化组件允许的那样,在另一个样式化JSS对象中以样式化JSS对象为目标?

下面是我所讨论的样式化组件的示例:

代码语言:javascript
复制
const Child = styled.div`
  color: red;
`;

const Parent = styled.div`
  display: flex;
  ${Child}:hover {
    color: blue
  }
`;

这在JSS中是可能的吗?

仅供参考,我使用Material UIv4的样式解决方案,它基于JSS。

EN

回答 2

Stack Overflow用户

发布于 2021-02-05 08:04:43

您可以将子组件传递给父组件的样式化API。

代码语言:javascript
复制
const Child = styled("div")({
  color: '#fff'
});
const Parent = styled(Child)({
  background: '#999'
})

更新

是的,我误会了。我不认为仅仅使用MUI styled API就可以做到这一点?我能得到的最接近的方法是使用className prop (或者您可以在MUI组件上使用classes prop )

代码语言:javascript
复制
const Parent = styled('div')({
  background: '#999',
  '& .warning': {
    '&:hover': {
      color: 'goldenrod'
    }
  },
  '& .error': {
    '&:hover': {
      color: 'red'
    }
  }
})

<Parent>
  <Child className="warning">Warning!</Child>
  <Child className="error">Error!</Child>
</Parent>
票数 1
EN

Stack Overflow用户

发布于 2021-02-05 09:37:22

JSS中使用&与符号和方括号[]来完成此操作

代码语言:javascript
复制
const Child = styled(div)({
  color: 'red',
});

const Parent = styled(div)({
  display: 'flex',
  [`& ${Child}:hover`]: {
    color: 'blue'
  }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66055589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档