react之中添加动态类名没有在vue之中那么方便,可以使用第三方库进行
1、安装库
yarn add classnames
2、使用
原生在react之中添加class方法:
<h2 className={"foo bar active"}>1</h2>
//下面这个字符串拼接添加类名记得" active"前需要一个空格
<h2 className={'title'+(isActive?" active":"")}>2</h2>
//下面就避免上述的还需要加空格
<h2 className={['title',(isActive?"active":"")].join("")}>3</h2>
使用第三方库
import classNames from "classnames"
//一次多个类名
<h2 className={classNames("foo","bar","active")}>1</h2>
//根据变量的真否判断是否添加类名
<h2 className={classNames({"foo":isFoo,"active":isActive},"bar")}>2</h2>
//数组的形式实现
<h2 className={classNames(["title",{"active":isActive}])}>3</h2>