【发布时间】:2019-11-19 11:35:55
【问题描述】:
基本上,我要做的是创建一个具有可重用样式组件列表的单个组件,我可以立即使用这些组件,而无需重新定义/扩展所述样式组件。
对于具有可重用样式列表的组件,我目前导出一个具有所有可重用样式的对象,如下所示:
import styled from 'styled-components';
const ReusableStyles = {
BgGreen : styled.div`
background-color: #50ccb7;
color: #FFF;
`,
TextLeft : styled.div`
text-align: left;
width: 50%;
`
}
export default ReusableStyles;
我目前正在使用这些可重复使用的样式
import React from 'react'
import styled from 'styled-components'
import ReusableStyles from './reusableStyles.js'
const TestWithBgGreen = styled(ReusableStyles.BgGreen)`
`;
class Test extends React.Component {
render() {
return (
<TestWithBgGreen>
Test Text with green background
</TestWithBgGreen>
);
}
}
export default Test;
现在我的问题是我每次使用它时都必须重新定义/扩展ReusableStyles.BgGreen,即使我没有添加任何样式属性。
我更喜欢像这样直接使用样式化组件:
<ReusableStyles.BgGreen>
Test Text with green background
</ReusableStyles.BgGreen>
这显然行不通。
有没有什么方法可以创建一个单一的组件,其中包含一组可重复使用的样式,无需每次都重新定义/扩展该样式组件?
【问题讨论】: