react設置多個className


在一個元素上設置樣式,有一個固定的樣式,然后還有一個使用三元運算符根據條件添加的樣式。

比如說有一個固定樣式"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 模板字符串 ``

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

  

方法二:join("")

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

  

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

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>;
  }
});

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM