2017-05-08 76 views
2

创建一个jsbin演示了错误,你可以在这里看到https://jsbin.com/muhuxunome/1/edites2015地图不支持数组对象?

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有错误。

+0

什么错误?请张贴您的问题。 – Bergi

+0

请显示可用的lodash代码。 – Bergi

回答

1

你忘了“{}”

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

你需要,只要你想要做的JavaScript插在你的JSX使用大括号。

变化

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

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

如何按顺序排序,如果我在我的数组对象中有它? https://pastebin.com/raw/HtCc6pXT –

1

包裹内{}地图结果。您需要这样做才能在JSX中呈现您的元素。也非常应该从地图

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

代码添加一键重新调校的JSX元素与排序

class Image extends React.Component { 
    render(){ 
    return <img className="center" {...this.props} />; 
    } 
} 

Image.propTypes = { 
    src: React.PropTypes.string.isRequired 
}; 

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 
    } 
]; 
    normalizedStats.sort(function(a, b) {return a.count - b.count}) 
    return(
      <div> 
     {normalizedStats.map((obj) => { 
       return <li key={obj.name}>{obj.name} ({obj.count})</li> 
      } 

      )} 
      </div> 
     ) 
    } 
} 

class App extends React.Component{ 
    constructor(props) { 
    super(props); 
    this.state = { 
     name: 'JSBin' 
    }; 
    } 

    render() { 
    return (<div className="app"> 
     <Hello /> 
     </div>); 
    } 
} 

ReactDOM.render(<App />, document.getElementById('app')); 

JSBIN

+0

如何链接排序?说我有https://pastebin.com/raw/HtCc6pXT –

+0

你不链接它,你排序,然后地图,你可以在渲染功能。在什么基础上,你想排序 –

+0

检查更新的答案 –