为了快速开发,我们做项目时经常引用第三方的UI组件库,如Zent、Ant Design等。

有时候,引用第三方组件的样式与我们自己写的组件的样式差异很大,我们需要修改第三方组件的默认样式。

- 我们先用浏览器找到它们的css选择器。

-
可以在第三方组件上写个标识的className
-
import全局引用
-
效果
上面的方式是可以修改第三方组件的样式的,但有一个隐患,因为外面的标识名字是我们起的,它是全局的,是有可能与其他处的className冲突的,最好的方式是写成局部的样式,就像是vue中的/deep/ ,我想利用css Module的方式,生成一个不重复的className,


但是,在编译时,却把我写的局部的css给筛除掉了,应该是编译工具做了tree shakeing导致的。

这也是现在困扰我的一个问题,react如何设置才能像vue 的/deep/那样局部修改组件的css样式?
网友评论