首页 > 其他分享 >react设置多个className

react设置多个className

时间:2023-12-11 20:15:04浏览次数:39  
标签:className title 样式 react state 设置 active null

react设置多个className

 

在一个元素上设置样式,有一个固定的样式,然后还有一个使用三元运算符根据条件添加的样式。

1 2 3 4 5 6 比如说有一个固定样式"title": <div className="title">标题</div>, 然后还要一个点击高亮的样式: <div className={index === this.state.active ? "active" null}>标题</div> 不能这样写: <div className="title" className={index === this.state.active ? "active" null}>标题</div>

  

方法一:ES6 模板字符串 ``

1 className={`title ${index === this.state.active ? 'active' ''}`}

  

方法二:join("")

1 className={["title", index === this.state.active?"active":null].join(' ')}

  

方法三:classnames(需要下载classnames)

1 2 3 4 5 6 7 8 9 10 11 12 13 var classNames = require('classnames');   var Button = React.createClass({   // ...   render () {     var btnClass = classNames({       btn: true,       'btn-pressed'this.state.isPressed,       'btn-over': !this.state.isPressed && this.state.isHovered     });     return <button className={btnClass}>{this.props.label}</button>;   } });

标签:className,title,样式,react,state,设置,active,null
From: https://www.cnblogs.com/sexintercourse/p/17895431.html

相关文章

  • react_hooks系列 useState
    一、作用:useState让函数式组件也可以处理状态。二、格式:1、定义状态:const[状态名,更新状态的函数]=React.useState(初始值|函数);​如:1)、基本类型的状态声明一个新的叫做“count”的state变量,初始值为0。​const[count,setCount]=React.useState(0);//useS......
  • react_hooks系列 useEffect
    一、作用​可以使得你在函数组件中执行一些带有副作用的方法。​每当React组件更新之后,就会触发useEffect,在第一次的render和每次update后的useEffect触发,不用再去考虑“初次挂载”还是“更新”。React保证了每次运行effect的同时,DOM都已经更新完毕。......
  • MySQL设置字符编码
    MySQL设置字符编码一、8.0设置字符集#vim/etc/mysql/my.cnf[mysqld]port=3306character-set-client-handshake=FALSEcharacter-set-server=utf8mb4collation-server=utf8mb4_unicode_ci#相对应的排序规则init_connect='SETNAMESut......
  • Ubuntu 22设置静态IP
    打开终端,以管理员身份运行以下命令以编辑网络配置文件:sudonano/etc/netplan/00-installer-config.yaml在打开的文件中,找到类似于以下内容的部分:network:ethernets:enp0s3:dhcp4:trueversion:2将dhcp4:true修改为dhcp4:false,然后添加以下内容以设置静......
  • macOS 苹果电脑双面打印单面打印PDF设置
    苹果的打印服务分为两个部分,一个是应用层另一个是系统层。其中双面打印或单面打印统一在系统层面设置,下面我分别截图示意wpspdf和福昕pdf两款软件设置双面打印。1.WPSPDF在完成方式【点击感叹号】中选择单面打印即可。2.福昕PDF打印然后进入系统设置属性选择打印机选项......
  • php css 改变宽度,img标签设置display:block属性时宽度无法设定为100%的解决办法
    本篇文章所说的内容是img标签设置display:block属性时宽度无法设定为100%的解决办法,方法很详细,有一定的参考价值,有需要的朋友可以参考一下,希望可以对你有所帮助。现象如下代码,img标签设置了display:block,尺寸宽度无法设定为100%img标签设置display:block,宽度无法100%原因替换......
  • react-query使用
    usequery const{isPending,isLoading,error,data}=useQuery({//返回当前请求的状态,错误信息,以及返回的数据queryKey:['repoData'],//【必填】,自定义查询的键,类型为数组,也可以存放变量,[repoData,id],当id发生变化时,会自动请求接口queryFn:()=>//......
  • 赛博灯泡:Win10/11 设置屏幕缩放 500% 的还原方法(全称键盘,不用鼠标)
    近期注意到因误操作将屏幕缩放设置为500%后无法还原的情况,因为网上有人提出此问题,而其他人尝试复现时也无法解决了,这里给出一种可能的解决办法。因为不同人的分辨率是不一样的,有些电脑分辨率设置的不高,如果低于900P的话有可能界面是显示不完整的,此时无法使用鼠标操作,所以还是......
  • 小程序 webview 标题设置
    //小程序uni.setNavigationBarTitle设置后,会被webview页面的标题覆盖,后面再设置也不会刷新//在h5页面中设置,也会被vue的默认标题覆盖掉,并且之后无法刷新小程序显示的标题//只能在h5那边,vue页面router权限处理的地方(/router/permissions.ts中router.afterEach处),第一次给doc......
  • 无涯教程-MFC - 环境设置
    MicrosoftVisualC++是用于为MicrosoftWindows操作系统创建应用程序的编程环境。要在C++应用程序中使用MFC框架,必须已安装MicrosoftVisualC++或MicrosoftVisualStudio,MicrosoftVisualStudio还包含MicrosoftVisualC++环境。Microsoft提供了VisualStudio的免费版......