MAP es6は反応するオブジェクトの配列では機能しません。私は、にconsole.log(アイテム)を行うと、私の私はマップ内this.skills
ですが、再びarray
あるMAP es6は反応しているオブジェクトの配列では機能しませんか?
{item.skills.map(item =>
<p>{item.skills.name}</p>
)}
MAP es6は反応するオブジェクトの配列では機能しません。私は、にconsole.log(アイテム)を行うと、私の私はマップ内this.skills
ですが、再びarray
あるMAP es6は反応しているオブジェクトの配列では機能しませんか?
{item.skills.map(item =>
<p>{item.skills.name}</p>
)}
理由を行うJSXのレンダリングでとても
{
"skills": [{
"field": {
"id": 1,
"name": {
"en": "Web Developer"
}
},
"skills": [{
"id": 2,
"name": {
"en": "Blog"
}
}]
}, {
"field": {
"id": 3,
"name": {
"en": "UI/ UX Designer"
}
},
"skills": [ {
"id": 4,
"name": {
"en": "Web Interface"
}
}]
}]
}
次の結果を得ます名前がobject
の場合は、最初にJSON
構造を変更する必要があります。name.en
を使用する必要がある場合は、
let data = {
"skills": [{
"field": {
"id": 1,
"name": {
"en": "Web Developer"
}
},
"skills": {
"id": 2,
"name": {
"en": "Blog"
}
}
},{
"field": {
"id": 3,
"name": {
"en": "UI/ UX Designer"
}
},
"skills": {
"id": 4,
"name": {
"en": "Web Interface"
}
}
}]
}
data.skills.map((item)=>{
console.log(item.skills.name.en);
})
あなたはarray
としてskills
内skills
を定義し、それが唯一の項目が含まれます場合は、このような名前にアクセスする必要があります。
item.skills[0].name.en
そうでなければ再度map
を実行して名前にアクセスする必要があります。このように:
data.skills.map((item)=>{
item.skills.map((el)=>{
console.log(el.name.en);
});
})
この問題で何か問題に直面していますか? –
skills[n].skills
は配列です。そして構造を変更するか、最初のmap
メソッドに.map
を再度実行する必要があります。このように:
{item.skills.map(item =>
item.skills.map(skill =>
<p>{skill.name[en]}</p>
)
)}
このオブジェクトは、あなたの 'item' JSONは多少の誤差を持っているようだ – brk
エラーがあり、中に同じことを検証してみ' –
あなたのJSONオブジェクトは有効ではありませんjsonlint.com'。あなたはhttp://www.jsoneditoronline.org/を使って正当性をチェックすることができます。 –