2017-06-09 41 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 –

相關問題