es2015 map不支持对象数组?

时间:2017-05-08 04:13:26

标签: javascript reactjs ecmascript-6

创建了一个jsbin来演示错误,你可以在这里看到错误https://jsbin.com/muhuxunome/1/edit

class Hello extends React.Component {
  render() {
    const normalizedStats = [
  {
    "name": "Confirmed",
    "count": 7
  },
  {
    "name": "Unprocessed",
    "count": 2
  },
  {
    "name": "Not Suitable",
    "count": 9
  },
  {
    "name": "Shortlisted",
    "count": 17
  }
];

    return(
            <div>
            normalizedStats.map(obj => 
                <li>{obj.name} ({obj.count})</li>
            )
            </div>
        )
  }
}

我得到的obj错误没有定义?我尝试了lodash的地图,但不确定为什么es2015的地图在这里有错误。

2 个答案:

答案 0 :(得分:1)

你忘记了“{}”

return (
    <div>
        {normalizedStats.map((obj, index) => {
            return <li key={index}>{obj.name} ({obj.count})</li>;
        })}
    </div>
);

答案 1 :(得分:1)

只要您想在JSX中进行JavaScript插值,就需要使用花括号。

更改

normalizedStats.map(obj => 
  <li>{obj.name} ({obj.count})</li>
)

{normalizedStats.map(obj => 
  <li>{obj.name} ({obj.count})</li>
)}