试图将一些代码从 jss 移植到样式组件,jss 代码看起来像:
//...
const styles = {
myStyles: {
color: 'green'
}
}
const {classes} = jss.createStyleSheet(styles).attach()
export default function(props) {
return (
<div>
<Widget1 className={classes.myStyles}/>
<Widget2 className={classes.myStyles}/>
</div>
)
}
我的问题是,实现跨多个组件共享相同样式的惯用方法是什么?
原文由 tony_k 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以共享实际的 CSS 字符串或共享
styled-components
组件:styled-components
:更新:根据评论中的问题,我创建了一个示例来说明将道具传递给样式组件的
css
函数的工作方式与将道具传递给组件本身的方式相同:https: //codesandbox.io/ s/2488xq91qj?字体大小=14 。styled-components
的官方建议是始终将要传递给styled-components
字符串包装在css
标记函数中。在这个例子中,Test
组件通过嵌入在cssString
变量中的传入道具接收背景和前景色—通过调用css
函数创建的变量