react jsx 中的条件判断

前端之家收集整理的这篇文章主要介绍了react jsx 中的条件判断前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

react jsx 中的条件判断

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

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

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

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

使用三目运算符

  1. ...
  2. render:function(){
  3. return <div className={
  4. this.state.isComplete ? "isComplete" : ""
  5. }>...</div>
  6. }
  7. ...

使用变量

  1. ...
  2. getIsComplete:function(){
  3. return this.state.isComplete ? "isComplete" : "";
  4. },render:function(){
  5. var isComplete = this.getIsComplete();
  6. return <div className={isComplete}>...</div>
  7. }
  8. ...

使用函数

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

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

使用&&运算符

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

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

猜你在找的React相关文章