react动态添加和设置样式:style和className

原文链接: https://dsx2016.com/?p=467

➢ react动态设置样式

所谓动态,有两种方式:

  • react生命周期中获取数据并使用js来改变某些属性和样式

  • 监听state,props等某些动态变量,使用条件判断或者赋值来改变

➢ style动态设置

例如: 改变一个div的显隐

通过设置divdisplay:blick|none来控制显示和隐藏

注意style{{ }}

<div style={{display: this.state.isShow ? "block" : "none"}}>
    demo
</div>

注意多个样式的写法:

样式和样式之间用,隔开

<div style={{display: this.state.isShow ? "block" : "none", color:"pink"}}>
    demo
</div>

例如: 动态设置div的宽高

<div style={{width: this.state.screenWidth }}>
    demo
</div>

➢ className动态设置

单个className

<div className={this.state.isActive?"active":"default"}>
    demo
</div>

多个className

推荐写法: ES6

如果为null,则class,第一个className,第二个className为空

<div className={`content ${this.state.isActive?"active":null}`}>
    demo
</div>

其他写法: 数组转化

<div className={["container", this.state.isActive?"active":null].join(' ')}>
    demo
</div>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值