2016-05-18 1 views
0

JSXコード:のみthat.state.newsList [ '+ IDX']を持っている場合がコンポーネントに反応 - ここで設定されたページのタイトル

class PaperList extends React.Component{ 
    constructor() { 
    super(); 
    this.state = { 
     newsList: [{ 
     title:'title1', 
     content:'content1' 
     },{ 
     title:'title2', 
     content:'content2' 
     }] 
    }; 
    } 
render() { 
var that = this; 
    var lists = this.state.newsList.map(function(news,idx){ 
     return <Paper key={idx} style={paperStyle} zDepth={2}><h2>{that.state.newsList['+idx+'].title}</h2></Paper>; 
    }); 
    return (<div> 
     {lists} 
    </div> 
    ); 
    } 

、問題ありません。 タイトルを取得するには?

答えて

0

Array.map()を使用する場合、インデックスを使用して配列にアクセスする必要はありません。あなたの場合、newsは現在のインデックスidxの配列の項目です。 this.state.newsListから値idxを使用して項目を見つける必要はありません。下のコードは、タイトルを取得するために動作するはずです。

var lists = this.state.newsList.map(function(news, idx) { 
    return (
     <Paper key={idx} style={paperStyle} zDepth={2}> 
     <h2>{news.title}</h2> 
     </Paper> 
    ); 
}) 
関連する問題