在if函数中将if else语句放在react render中

时间:2016-10-05 10:31:51

标签: javascript reactjs

为什么这不起作用?我记得我曾经让它将html部分拆分为2个函数,但这次我想让代码看起来更短,但是我现在无法在我的返回函数render中执行if语句。

var App = React.createClass({
   getInitialState(){
     return {
       items:[1,2,3],
       isEdit: true
     }
   },
   renderEditForm(){
   return(
   <div>
   <input type="text" />
   <button>save</button>
   </div>
   )
   },
   renderItem(){
     return(
       this.state.items.map((item,i)=>
         <li key={i}> isEdit ? this.renderEditForm() : {item}</li>)
     )
   },
   render(){
      return(
        <ul>
          {this.renderItem()}
        </ul>
      )
   }
})

http://jsfiddle.net/pnvn800k/1/

不确定为什么这不起作用

1 个答案:

答案 0 :(得分:0)

<li>内的内容应该包含在flower bracket

更新了小提琴:

http://jsfiddle.net/pranesh_ravi/8b0grbdd/