React使用css module和className多类名设置

React使用css module和className多类名设置,第1张

最近在写react的时候碰到了一个小问题:现在css样式我通过下图这样的方式直接引进来的时候,发现会和其他组件里面相同className的会有冲突的现象。正常来说吧,是可以通过不同的组件在className前面加上不同组件的标识做区分的,但是这样感觉不舒服。写习惯了vue的,发现vue里面是可以加scoped将样式私有化,那react应该也会有类似的解决方案吧。

然后找了下发现有个叫做css module的。下图里框着的这刚好就是我想要的。这里是它的地址 CSS Module  

然后看看怎么使用。听说npm eject是个坑,还好这个也不用去eject,create-react-app 2的版本就可以直接使用了,方便快捷用起来也爽 ~ 

注意:然后有一个需要注意的。默认文件名是以 [className].module.scss,就是需要加上.module。本来我也在弄了好久发现不生效,我就eject出来看到config文件下面有写着注释默认是需要加上的,当然如果配置的话就自己去百度看怎么配置了,我这就不写了,怎么简单怎么用~

我想~这个都能看懂为啥这么写吧 ~ 

jsx的{}和把className存数组里,然后join函数在中间加个空格,就拼出了下面这样啦

最后 ~ 有写错的地方麻烦可以指出来哦,也是刚接触几天然后做个整理,蟹蟹  ~ 。 ~  

reactjs添加两个class:

可以采用品基恩字符串的方式

<div className={value.class1 + " " + value.class2}>{value.value}</div>

className动态添加

可以实现的语法如下:

1、使用逻辑运算符

2、使用三元运算符

3、使用函数

4、数组语法

5、使用ES6写法(推荐使用ES6写法)

或者使用classnames依赖库

style动态添加

1、当前标签无其他class,并且只动态添加一个className


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7994320.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存