首页 > 解决方案 > if else 在 map 函数中

问题描述

我收到一个错误:

无法读取未定义的属性“地图”

我的 JSON 数据:

{
    "data": [
        {
            "id": 1,
            "attention": 1
        },
        {
            "id": 2,
            "attention": 1
        },
        {
            "id": 3,
            "attention": 0
        }
    ]
}
_handleOutput() {
    var att = data.attention.map(function (data) {
      return data.attention
    });
}
console.log(att)

是否可以使用 if-else 将 JSON 输出数据与 React 进行比较DOM?像这样的东西:

if (data.attention === true || "1") {
    return <span>&#9989;</span>;
} else {
    return <span>&#10060;</span>;
}

然后我输出到表列表中<td>{this._handleOutput()}</td>

标签: javascriptreactjsdictionary

解决方案


let obj = {
    data: [
        {
            id: 1,
            attention: 1
        },
        {
            id: 2,
            attention: 2
        },
        {
            id: 3,
            attention: 0
        }
    ]
}

内部组件定义渲染功能

render(){
return (
    <div>
     {obj.data.map(a=>{
      if(a.attention===1) 
       return <span>&#9989;</span>

       return <span>&#10060;</span>;  
     })}
    </div> 
  )
  }

推荐阅读