react jsx 中的条件判断

想知道怎么拓展 标签的,请看我另一篇文章
http://my.oschina.net/wolfx/blog/707181

react jsx 中的条件判断

说到条件判断,很容易想到的就是if,有很多模版引擎都是这样处理的.

<div className={if(isComplete){"isComplete"}}>...</div>

但是,上面的代码在react中是错误

解决办法有一下4种 1.使用三目运算符 2.设置变量,在属性中引用它 3.用函数处理 4.使用&&运算

使用三目运算符

...
render:function(){
    return <div className={
        this.state.isComplete ? "isComplete" : ""
    }>...</div>
}
...

使用变量

...
getIsComplete:function(){
    return this.state.isComplete ? "isComplete" : "";
},render:function(){
    var isComplete = this.getIsComplete();
    return <div className={isComplete}>...</div>
}
...

使用函数

只需要改变一下上面的方法

getIsComplete:function(){
    return this.state.isComplete ? "isComplete" : "";
},render:function(){
    return <div className={this.getIsComplete()}>...</div>
}

使用&&运算符

如果isComplete为true,&&后面的就会被使用

...
render:function(){
    return <div className={this.state.isComplete && "isComplete"}>...</div>
}
...

相关文章

一、前言 在组件方面react和Vue一样的,核心思想玩的就是组件...
前言: 前段时间学习完react后,刚好就接到公司一个react项目...
前言: 最近收到组长通知我们项目组后面新开的项目准备统一技...
react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...