在决定何时使用样式化的组件而不是CSS道具时,是否存在最佳做法或优缺点列表?
答案 0 :(得分:0)
我通常更喜欢styledComponent
,但是在某些情况下,例如为react-router设置<Link />
的样式,则必须为className属性提供编译样式。
使用CSS道具没有害处,但是,有可能会意外覆盖您的样式,而且这会使您的JSX变得更加混乱。但是,如果您知道自己在做什么并且正在大量使用composition,那么IMO就是一个非常强大的功能。
理解和管理样式化组件要容易得多,例如使用主题时,您可以将整个样式化逻辑封装在JSX之外。 +1到样式组件以进行基于乐高的设计。
我认为可以肯定地说,您可以将样式化组件和CSS一起使用,但是大多数组件可以采用其中一种。
我绝对喜欢您如何使用情感成分来覆盖基本组件(这可以避免我们传递奇怪的道具,并有助于使道具保持清洁),但与此同时,您不应滥用它,因为从个人经验中,它很容易吸引在应该使用isBold
fontSize: "sm"
等道具的地方使用CSS合成...