开发过程中,标签或者组件元素需要动态绑定className和style,比较常见的场景。

1、动态添加className

React中动态添加className,有两种情况:

  • 本身存在一个class还需要动态绑定class
  • 只需要动态绑定class,去其他样式

第一种情况,div标签本身有class,另外需动态添加一个.show的className,来判断是否显示内容:

// 两种写法
<div className={['container', this.state.isShow ? 'show' : null].join(' ')}>是否显示</div>
// ES6写法(推荐使用)
<div className={`container ${this.state.isShow ? 'show' : null}`}>是否显示</div>

第二种情况,div标签无其他class,仅需动态添加classNamea,来判断是否显示内容:

<div className={this.state.isShow ? 'show' : null}>是否显示</div>

2、动态添加style

对div标签添加多个行内样式,动态绑定标签内容的颜色color和标签的旋转角度transform:

<div style={{color: this.state.isRed ? 'red' : 'black', transform: `rotate(${rotate}deg)`, float: 'left'}}>是否显示</div>

 

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐