map.array内的if语句与react

时间:2019-07-29 13:06:24

标签: javascript reactjs

我想在地图内使用if语句,但是我不想切换返回值。代码:

this.example = this.state.data.map((item) => {
    return(
        <div>
        {if(1 + 1 == 2){
            data here
        }}
        </div>
    )
})

我知道我不知道如何在反应中使用这些。但基本上,我需要根据地图内返回的徽标返回链接。因此,如果其徽标为A,则返回链接A,徽标B,链接B等。

徽标是通过api映射的,链接不是。

2 个答案:

答案 0 :(得分:2)

使用ternary operators

this.example = this.state.data.map((item) => {
    return(
        <div>
            {link ? <img src={link} /> : null}
        </div>
    )
})

答案 1 :(得分:0)

您在这里有几个选择:

1)在传递给if方法的回调中使用return语句和.map

2)使用@Dupocas提到的三元运算符

第一个选项的示例:

const nodeExample = this.state.data.map((item) => {
  if (item.visibleExample) {
    return (
      <div>{item.titleExample}</div>
    );
  }
  return <div>Example is not visible</div>
});

更适合您的情况的示例:

const nodeExample = this.state.data.map((item) => (
  <div>
    {item.visibleExample ? item.titleExample : 'Example is not visible' }
  </div>
));

希望这会有所帮助。