2017-06-03 23 views
1

mapを使用して、リスト内のコンテンツのレンダリングにはreact-router(2.8.1を使用する必要があります)を使用します。マップ内のユーザ反応ルータ

ただし、{this.props.children}.mapの外側に表示すると、1つはレンダリングされます。

インライン/リストエントリの下に表示する必要があります。

どうすればこの問題を解決できますか?

class App extends React.Component { 
    constructor(props) { 
    super(props); 
    this.state = { 
     movies: x.movies 
    }; 
    } 
    render() { 
    return (
     <div> 
     <h2>Repos</h2> 
     {x.movies.map(movie => 
      <span key={movie.id}> 
      {movie.name} 
      <NavLink to={"/repos/" + movie.id + "/next"}>React Router</NavLink> 
      </span> 
     )} 
     {this.props.children} 
     </div> 
    ); 
    } 
} 

enter image description here

答えて

0

あなたは、私が余分Next Id:4、各エントリの間に表示されるように引き起こしていると考えているループ内childrenを、レンダリングされています。

子どもたちをループの外でレンダリングして、以下を試してみてください。

{ 
    x.movies.map(movie => (
     <span> 
     <Result key={movie.id} result= {movie}/> 
     </span> 
    )) 
} 
<span>{this.props.children}</span> 
+0

ありがとうございますが、これは私の例と変わりません。マップの下に 'next ID:4'を描画します。それはそれが属している項目の下に 'next ID:4'を表示する必要があります – Ycon

関連する問題