首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >样式-组件-创建类方法?

样式-组件-创建类方法?
EN

Stack Overflow用户
提问于 2019-12-23 12:29:38
回答 1查看 1.9K关注 0票数 1

我需要一种方法来创建没有styledcss方法的类。

让我们假设适当的样式系统,组件只有基本样式,但没有定位、边缘等。

例如:

代码语言:javascript
复制
const Root = styled.div`/* Some styles */`

export const MyComponent = ({className}) => <Root className={className} />

因此,这很容易,我为组件附加私有样式,并允许它从父级接收和应用类。

如果我有“经典”css,我会像这样使用它

代码语言:javascript
复制
import styles from 'some-styles.module.css';

...

<MyComponent className={styles.someStyle} />

它会像预期的那样起作用。

这里的问题是:

如何只使用styled-components创建类?它曾经使用过Glamorous,但是SC (和情感)没有从css返回类名。

我不能仅仅为了允许这种样式而使用单独的css文件,这应该是常见的用例(子的父设置大小)。

编辑与情感中的解决方案

我发现情感增加了额外的属性css,它适用于每一个jsx元素。它可以用于本机<div>、样式<Div>或自定义的React组件<MyComponent。在编译期间,Babel使用css({...})css({...})属性更改为className。如果<MyComponent>只接受className,那么它将通过css螺旋桨从父级接收它。

EN

回答 1

Stack Overflow用户

发布于 2019-12-23 22:08:02

,我仍然相信,我应该能够在父母之间传递风格给孩子。

有一种方法可以做到这一点,但并不完全是你想要的。

在react中(您还不能在中这样做),您可以在父样式内传递子组件,并且当其子组件被父样式包装时,它将在其子元素中添加样式。

例如:

代码语言:javascript
复制
const ParentComponent = styled.div`
    ${ChildComponent} {
         /* Child css*/
    }
`

抱歉,如果格式化不好,我在手机上

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59455409

复制
相关文章

相似问题

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