前言官方文档地址:https://www.styled-components.com/中文文档地址:https://github.com/hengg/styled-components-docs-zhstyled-components是React的第三方库,是CSS在JS中的一个很好的实践。第一次了解styled-components是在看林浩翻译的《ReactDesignPatternsandBestPractices》一书时。虽然接触的比较晚,但还是被它的刚劲和优雅深深吸引了。但是,它的中文资料比较匮乏。为了帮助更多的朋友了解这个强大的工具,对部分官方文档进行了翻译。由于能力有限,翻译部分可能还存在一些单词错误或句子不准确的地方。欢迎有能力的同学帮忙指正。样式组件的优势是什么?这就要从它解决的问题说起:CSS的痛点是不可否认的,CSS是一门神奇的“语言”(CSS是一种什么样的语言?)。它很容易学习,但很难掌握。它没有变量和函数等概念,这使得它的表达能力比其他语言稍弱,它要解决的问题也非常复杂。关于这一点,为什么CSS这么难学?这个问题的100多个答案很能说明问题。在日常使用中,CSS的痛点很多,但大部分都围绕着以下两点:全局污染:CSS选择器的作用域是全局的,容易造成选择器冲突;并且为了避免全局冲突,会导致类命名复杂复用性低:CSS缺乏抽象机制,选择器容易重复,不利于CSS在JS中的维护和复用随着组件时代的到来、前端应用从组件层面开始对CSS进行封装:也就是通过JS来声明和抽象样式,提高组件的可维护性;组件加载时,动态加载样式,动态生成类名,避免全局污染。styled-components是最好的组件之一。顾名思义,styled-components就是以组件的形式来声明样式,让样式成为组件来分离逻辑组件和显示组件(这个思路是不是很眼熟),我们来看一下官方的例子:constButton=styled.a`/*这会呈现上面的按钮...编辑我!*/显示:内联块;边界半径:3px;填充:0.5rem0;保证金:0.5rem1rem;宽度:11rem;;边框:2px纯白色;/*GitHub按钮是一个主要按钮*编辑它以专门针对它!*/${props=>props.primary&&css`background:white;颜色:淡紫红色;`}`render(
