react如何修改第三方UI组件样式

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

15401334-8c06c7ce5a7653a0.png

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


15401334-f25398f61526acd4.png
  1. 我们先用浏览器找到它们的css选择器。
15401334-569779af3ddd4e8b.png
  1. 可以在第三方组件上写个标识的className

  2. import全局引用


    15401334-8b6df9ffa8572dfc.png
  3. 效果


    15401334-2561535040ed4cbd.png

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


15401334-f8740dd67ff6ed58.png

15401334-2e30a578c7bcb090.png

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


15401334-0003f80e9cc44e28.png

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

猜你喜欢

转载自blog.csdn.net/weixin_34054866/article/details/91032185