2017-06-09 21 views
1
class HelloWorld extends React.Component { 
    render() { 

    const arr = [{class:"A", students:[{name:'james'},{name:'john'}]}, 
{class:"B", students:[{name:'janice'},{name:'xena'}]}, 
{class:"C", students:[]}] 

    return (
     <div> 
     {arr.map(outer => 
    (outer.students.map(person => <p>{person.name}</p>)) 
)} 
     </div> 
    ); 
    } 
} 

得到预期的令牌使用2上图,任何线索?我想要构建这样的用户界面react.js地图内的地图得到意想不到的标记

Class A - james, john 
Class B - Janice, Xena 
Class C 

如果学生对象为空,则我无法显示C类。

+0

您忘记了第二个和第三个'arr'数组项目之间的逗号 – Chris

+0

使用JSON时,当您收到意外的令牌错误时,大部分时间都是因为无效的JSON。使用像jslint这样的验证器首先检查JSON错误 – Denny

回答

0

这JSON是不是一个有效的JSON,你的B类对象后,错过了,

const arr = [ 
    {class:"A", students:[{name:'james'},{name:'john'}]}, 
    {class:"B", students:[{name:'janice'},{name:'xena'}]}, 
    {class:"C", students:[]} 
] 

同时打印类名,你需要把它写这样的:

return (
    <div> 
     {arr.map(outer => 
      <div key={outer.class}> 
       {outer.class} - 
       {outer.students.map(person => <p key={person.name}>{person.name}</p>)} 
      </div> 
     } 
    </div> 
); 

别忘了将唯一密钥分配给map中的每个元素。

+0

,但是我的循环逻辑是否正确? –

+0

是的,该部分是正确的,检查更新的答案如何显示类名也。 –

+0

我明白了。但我的格式是这样的https://stackoverflow.com/questions/44457023/react-js-map-did-not-render-content –

相关问题