2017-06-09 13 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つのマップを使用すると予想されるトークンはありますか?このようなUIを構築したいreact.jsマップ内の予期しないトークンがあります

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

学生のオブジェクトが空の場合、チャレッジはクラスCを表示できません。あなたはこのようにそれを記述する必要が

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

をもクラス名を印刷するには:JSONは有効なJSONではありません、あなたはクラスBのオブジェクトの後,を逃した

+0

2番目と3番目の 'arr'配列の項目の間にカンマを忘れてしまった – Chris

+0

JSONを使用しているときに予期しないトークンエラーが発生したときは、JSONが無効なためです。 JSONエラーを最初に確認するにはjslintのようなバリデータを使用してください – Denny

答えて

0

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 –

関連する問題