react学习笔记(32) - 样式组件(styled-components)的基本使用
样式组件(styled-components
)
- 官方文档
styled-components
是通过JavaScript
改变CSS
编写方式的解决方案之一,从根本上解决常规CSS
编写的一些弊端。通过JavaScript
来为CSS
赋能,我们能达到常规CSS
所不好处理的逻辑复杂、函数方法、复用、避免干扰。样式书写将直接依附在JSX
上面,HTML
、CSS
、JS
三者再次内聚。*all in js
*的思想
基本使用
- 安装
npm i styled-components |
- 在
react
项目中引入
import styled from 'styled-components'; // 引入 styled-components |
- 在项目中书写样式组件
/* ------------------- 某组件 ------------------------- */ |
结果展示:
其他属性
1. 透传
- 透传属性表示即便原声的标签被
styled-components
给修改成其他的样式组件,但是原生标签的属性依旧可用,如下:
import React, { Component } from 'react' |
结果展示:
2. 基于props
做样式判断
- 我们可以使用类似
React
中的props
的属性,来给封装好的样式组件传值, 通过props
属性来控制样式
import React, { Component } from 'react' |
结果展示:
3. 样式化任意组件(一定要记得className
)
- 在组件间的通信中,我们一样可以使用
styled-components
来进行样式化组件,比如我们可以在父组件中样式化子组件(给子组件添加样式)
import React, { Component } from 'react' |
结果展示:
4. 样式的继承
- 有时候我们在编写组件的使用,一些
HTML
元素的样式是有非常多重叠的,这时我们旧可以使用继承属性来编写样式,高效的复用样式代码
import React, { Component } from 'react' |
结果展示:
5. 动画
styled-components
同样为我们提供了在组件中编写动画的样式功能, 通过而外的引入一个属性(keyframes
)来设置对应的动画样式,随即在组件的调用即可!
import React, { Component } from 'react' |
结果展示:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0许可协议。转载请注明来自 肥林の仓库