加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

React-classnames库

发布时间:2020-12-15 05:30:33 所属栏目:百科 来源:网络整理
导读:今天在项目中看到了大佬引入了classnames,之前没用过所以去搜了搜,感觉还真的是挺好用的,搜到一篇很不错的文章,跟原创作者交流了一下就转载过来了! 下面废话不多说,我们直接来看文章吧 首先我们我们来看这个名字classnames一看就知道是跟className类名

今天在项目中看到了大佬引入了classnames,之前没用过所以去搜了搜,感觉还真的是挺好用的,搜到一篇很不错的文章,跟原创作者交流了一下就转载过来了!

下面废话不多说,我们直接来看文章吧

首先我们我们来看这个名字classnames一看就知道是跟className类名有关的,实际上也确实是这样,

那我们为什么要用这个呢

由于react原生动态添加多个className会报错

import style from

<div className={style.class1 style.class2}

想要得到最终渲染的效果是:

引入classnames库,安装:

使用:
import classnames from ''

<div className=<span style="color: #000000">classnames({
<span style="color: #008000">'class1': true,'class2': true<span style="color: #000000">
)>

其他用法:
classNames('foo','bar'); 'foo bar' classNames('foo',{ bar: }); 'foo bar' classNames({ 'foo-bar': }); 'foo-bar' classNames({ 'foo-bar': }); '' classNames({ foo: },{ bar: }); 'foo bar' classNames({ foo: ,bar: }); 'foo bar'

<span style="color: #008000">//<span style="color: #008000"> lots of arguments of various types
classNames('foo',{ bar: <span style="color: #0000ff">true,duck: <span style="color: #0000ff">false },'baz',{ quux: <span style="color: #0000ff">true }); <span style="color: #008000">//<span style="color: #008000"> => 'foo bar baz quux'

<span style="color: #008000">//<span style="color: #008000"> other falsy values are just ignored
classNames(<span style="color: #0000ff">null,<span style="color: #0000ff">false,'bar',undefined,1,{ baz: <span style="color: #0000ff">null },''); <span style="color: #008000">//<span style="color: #008000"> => 'bar 1'

? ? 传入数组对象:

arr = ['b',{ c: ,d: 'a',arr); 'a b c'

? ?传入动态class

let buttonType = 'primary'-${buttonType}`]: });

Button = btnClass = 'btn' (.state.isPressed) btnClass += ' btn-pressed' (.state.isHovered) btnClass += ' btn-over' ;

classNames = require('classnames'<span style="color: #0000ff">var Button =<span style="color: #000000"> React.createClass({
<span style="color: #008000">//<span style="color: #008000"> ...
<span style="color: #000000"> render () {
<span style="color: #0000ff">var btnClass =<span style="color: #000000"> classNames({
btn: <span style="color: #0000ff">true<span style="color: #000000">,'btn-pressed': <span style="color: #0000ff">this<span style="color: #000000">.state.isPressed,'btn-over': !<span style="color: #0000ff">this.state.isPressed && <span style="color: #0000ff">this<span style="color: #000000">.state.isHovered
});
<span style="color: #0000ff">return ;
<span style="color: #000000"> }
});

又学到了新东西,美滋滋啊,老铁们,我告辞了啊,下一篇文章见

 

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读