React-JSX中如何实现Class与Style的动态绑定(附实例)


当前第2页 返回上一页

css文件

1

2

3

4

5

6

7

.box-hide {

  display: none;

}

 

.box-color {

  color:red;

}

js文件

1

2

3

4

5

this.state = {isShow: false}

 

render(){

  return <p className={ this.state.isShow ? 'box-color' : [ 'box-color', 'box-hide'] }>hello world</p>

}

控制台显示结果(无效,中间多了个逗号):

1

<p class="box-color, box-hide">hello world</p>

注:既然不支持数组语法,你只能将“box-color”中的样式复用到“box-hide”中,使用三元运算符来表示,这样无形中增加了css代码量。

绑定内联样式

对象语法

style对象语法比clasName对象更加直观,处理的功能更加简单,逻辑运算符方法和函数绑定方法可以参考className的实现,下面只介绍三元运算符的使用:

三元运算符

类似Vue的vue-if、微信小程序的wx-if指令,可以用style三元运算符动态实现

js文件

1

2

3

render(){

  return <p style={ this.state.isShow ? {display: 'inline-block'} : { display: 'none'} }>hello world</p>

}

数组语法

React-JSX语法也不支持style数组语法,尝试样例:

js文件

1

2

3

render(){

  return <p style={ this.state.isShow ? {color: 'red'} : [{color: 'red'}, {display: 'inline-block'}] }></p>

}

控制台显示结果(无效):

1

<p></p>

总之,为了高质量的完成项目需求,应付越来越复杂的业务场景,那种大量操作dom元素,随意命名一个样式变量,然后绑定到class和style的做法是不提倡的。

相关文章推荐:

html实现一个简单的注册页面(附代码)

link标签链接CSS和@import加载有什么区别?

以上就是React-JSX中如何实现Class与Style的动态绑定(附实例)的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

React-JSX中如何实现class与style的动态绑定(附实例)

更多相关阅读请进入《React-JSX》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...