【发布时间】:2021-06-04 01:41:55
【问题描述】:
我正在构建一个设计系统,我将重点放在架构上 - 我希望它是一种良好的开发人员体验。
Bootstrap 用于此系统,但也与特定于组件的样式一起使用。我想我想要CSS-in-JS,因为我喜欢在实际组件中编写样式,而不是在不同的 CSS 文件中。
我有个想法,大概是这样的:
const componentSpecificStyle = `margin-bottom: 0rem;`
const globalBootstrapClass = ['card', 'card-body']
return <div someArgument={componentSpecificStyle + globalBootstrapClass} />
这样它会是标准的,两种类型的类,一个关于元素的参数,对于未来的开发者来说更少的混乱。
我尝试过的
- 查看了
Styled-Components和Emotion,据我所知,他们并没有帮助我实现这一目标。可以这样做
const Component = styled.div`margin-bottom: 0rem;`
return <Component className={'card card-body'}
但对我来说似乎有点笨拙。
-
React-Bootstrap将是一个解决方案,但我认为我通常最终会添加额外的类名,所以我不会抽象掉它......
例如
import { Card } from 'react-bootstrap'
const componentSpecificStyle = `margin-bottom: 0rem;`
return <Card.body style={{componentSpecificStyle}} />
或类似的东西......但正如我所说,如果我想在此之上添加另一个类名怎么办?然后我们以三种不同的方式进行样式设置,react-bootstrap、inline-ish style 和 className。
问题
我是否让它变得不必要的复杂?
非常感谢您对此事提出任何建议或想法!
【问题讨论】:
标签: css reactjs sass styled-components emotion