我開始反應,無法解決我的問題。我有一個物件
modes= {
"easyMode": {
"field": 5
},
"normalMode": {
"field": 10
},
"hardMode": {
"field": 15
}
}
我需要映射這種模式(easyMode、normalMode 和 hardMode),但我知道我不能映射物件,只能映射陣列。是的,但這也不起作用
const arrayOfObjects = [{ modes }];
return (
<ul> {arrayOfObjects.map(mode=> <li key={mode}>{mode} </li>)}</ul>)
我需要如何正確地做到這一點?
uj5u.com熱心網友回復:
您可以使用Object.keys()獲取帶有模式鍵的陣列
const modes = {
easyMode: {
field: 5,
},
normalMode: {
field: 10,
},
hardMode: {
field: 15,
},
};
const modesKeys = Object.keys(modes); // ['easyMode','normalMode','hardMode' ]
return (
<ul> {modesKeys.map(mode => <li key={mode}>{mode}</li>)}</ul>
)
uj5u.com熱心網友回復:
我認為這是一個重復的問題,您可以在此問題中找到完整的答案here
但作為一個快速的答案,對于物件,你必須像這樣迭代:
Object.keys(modes).map ( mode => {
console.log(mode,modes[mode]) // you can access the values like this
})
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/373219.html
標籤:javascript 数组 反应 目的 反应钩子
上一篇:如何在C#中重用物件?
