我试图在render函数中的条件内部调用函数,仅当condition为true时。

在以下代码的第3行上。

{this.props.xarray.map((heading, index) =>
        {return heading.headingis.toLowerCase().indexOf('mobile') != -1 ?
            {this.setcheckstate()} //THIS IS FUNCTION
            <option value="{heading.headingis}" key={index} selected>{heading.headingis}</option>
            :
            <option value="{heading.headingis}" key={index}>{heading.headingis}</option>
         }
    )}


但这返回错误:


  语法错误:这是保留字(51:10)


如果条件为真,我想更改状态。

最佳答案

你为什么不丢下那个土楼?有时候写一个简单的if IMO语句会更清晰,更干净。

{
  this.props.xarray.map((heading, index) => {
    if (heading.headingis.toLowerCase().indexOf('mobile') != -1) {
      this.setcheckstate();
      return <option value="{heading.headingis}" key={index} selected>{heading.headingis}</option>
    }

    return <option value="{heading.headingis}" key={index}>{heading.headingis}</option>
  })
}

10-04 15:11