1
私はMarvelAPIからデータを取得していますが、私がアクセスしているキーが利用可能かどうかは保証されていません。 だから私はそれらにアクセスする前にifステートメントで各キーをチェックしています。リアクションレンダリング前にネストされたJSONキーを確認する
ご覧のとおり、以下のコードは非常に醜いです。これを行うためのより良い/標準的な方法がありますか?各キーの
renderCharacterNames(detail) {
console.log('detail', detail)
if (detail && detail[0] && detail[0].characters && detail[0].characters.items && detail[0].characters.items.length > 0) {
return (
<div>
{detail[0].characters.items.map((obj, index) => {
return <li key={index}>{obj.name}</li>
})}
</div>
)
} else {
return <div>No Character Name</div>
}
}
renderComicDetail() {
var detail = this.props.comicDetail;
if (!detail) {
return (
<div>No Data Yet (loading?)</div>
)
}
return (
<div>
{this.renderCharacterNames(detail)}
</div>
)
}
なぜあなたは 'detail [0]'にしかアクセスしていないのですか? –
APIは、常にすべてのデータを含む長さ1の配列を返すようです。だから私は今のところそれにアクセスしているだけです。このデータは、comiId = someIdでAPIにクエリを実行すると戻されます。各IDは1つの漫画に対応しているため、詳細情報[0]は合理的です(今のところ)。より多くのケースを処理できるように変更することができますが、これは私がここにある主な質問ではありません。乾杯 – ErnieKev