样式组件-创建类方法?

时间:2019-12-23 12:29:38

标签: javascript css reactjs styled-components css-in-js

我需要一种不用styled也不使用css方法创建类的方法。

让我们假设适当的样式系统,其组件仅具有基本样式,而定位,边距等。

例如

const Root = styled.div`/* Some styles */`

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

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

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

import styles from 'some-styles.module.css';

...

<MyComponent className={styles.someStyle} />

将按预期工作。

这是问题所在:

如何仅使用styled-components创建课程?它曾经与Glamorous一起使用,但是SC(和Emotion)不是 css返回类名。

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

1 个答案:

答案 0 :(得分:0)

  

我仍然相信,我应该能够以某种方式将样式从父母传递给孩子。

有一种方法可以做到,但不完全是您想要的方法。

在react js中(您还不能在React Native中做到这一点),您可以将子组件传递给父样式,当父样式将其包装时,它将在子样式中添加样式。

例如

const ParentComponent = styled.div`
    ${ChildComponent} {
         /* Child css*/
    }
`

对不起,如果格式不好,我在移动设备上