1
Reactとマップテクニックを使用してjsonデータを呼び出す方法を理解しようとしています。特にレイヤードデータの取得に問題があります。下の私の例のjsonコードでは、これはside
の下の内容になります。reactjs jsonとレイヤードデータ
私の最初のreturn文が機能します。つまり、dish
の内容のリストを取得できます。しかし、私の2番目のreturn文は、マップが自分の呼び出しの内容を定義できないというエラーを返すか、side
です。
これの最終目標は、メインと一致するネストされたデータを出力するリストを作成することです。
getInitialState:function(){
return {fulldata: {main:[{side:[]}]}}
},
componentDidMount:function(){
var self = this;
$.getJSON('https://yooarel.com', function(resultes){
self.setState({fulldata: resultes});
});
},
render:function(){
var self = this;
return (<div>
<ul>
{this.state.fulldata.main.map(function(break, i){
return <li key={i}>{break.dish}</li>})}
<ul>
{this.state.fulldata.main.side.map(function(make, o){
return <li key={o}>{make.platter}</li>)}}
</ul>
</ul>
</div>);
}
一方、私の仮説的yooarel
JSONファイルはそうのようになります。
{
"main": [
{ "dish": "steak",
"side": [
{"platter": "yogurt"},
{"platter": "popcorn"}
]
},
{ "dish": "fish",
"side": [
{"platter": "salad"}
]
}
]
}