# 组件样式分离
其实我们最希望的样式写法就是写在样式表文件中,这样便于管理,如何去做这件事情呢?我们还记得之前想要样式生效,只用`import "样式文件地址"`即可。实现一下。
## 新建样式表文件
`src/components/commet.css`和`src/components/item.css`
先修改commet.css文件
~~~css
.title{
color:red;
text-align: center;
}
*{
margin: 0;
padding: 0;list-style: none;
border: none;}
~~~
修改Commet.js组件文件,文件头部导入css文件以及删除行内样式。
~~~
import './commet.css'
~~~
~~~
render() {
return (
<Fragment>
<div className="title">评论组件标题</div>
<ul>
{this.renderList()}
</ul>
</Fragment>
)
}
~~~
效果如下
![](https://box.kancloud.cn/dd30560de698d935018b0dad2449191b_329x324.png)
## 问题
这里面我们可以发现样式表文件生效了, 不过存在问题在于,我们的样式是全局样式,我们在当前组件commet.js中导入css,对Item评论列表组件也生效了。
这样就违背了我们所说的组件样式只能对当前组件生效的问题。那么如何解决?像Vue组件化它是通过`vue-loader`和`
VueLoaderPlugin`来实现的。那么它也仅仅是对Vue生效的。那么React如何解决?
这里我们要提到一个新的词汇**CSS模块化**
- webpack复习
- React基础
- 前端三大主流框架对比
- React中几个核心的概念
- React基础语法
- React JSX语法
- React组件
- 普通组件
- 组件通信-父向子传递
- 组件拆成单个文件
- 面向对象复习
- Class组件基础
- Class组件的私有状态(私有数据)
- 案例:实现评论列表组件
- 组件样式管理
- 组件样式分离-样式表
- CSS模块化
- 生命周期
- React组件生命周期
- Counter组件来学习组件生命周期
- 生命周期总结
- 生命周期案例
- React评论列表
- React双向数据绑定
- React版todolist
- 其它提高(了解)
- 组件默认值和数据类型验证
- 绑定this并传参的三种方式
- 祖孙级和非父子组件传递数据(了解)
- React路由
- 路由基础
- 动态路由
- 路由严格模式
- 路由导航定位
- 路由重定向
- 路由懒加载
- WolfMovie项目
- 项目初始化
- AntDesign使用
- 其它相关了解