我尝试使用map函数遍历外部JSON文件中的对象数组,但不确定如何访问对象属性。我使用了Object.keys(obj).map(),但无法访问单个属性。Map函数只输出数组索引号。以下是我要迭代的数据:
我有一个状态钩子,数据将保存到该钩子中。
下面的函数从外部json文件获取数据并将其设置为状态。
我使用map函数遍历状态对象。
输出结果一直打印出索引号而非相应的值。
[
{
"id" : "12345",
"customer" : "BMW",
},
{
"id" : "45678",
"customer" : "Ford",
},
{
"id" : "78901",
"customer" : "Google",
}
]
我有一个状态钩子,数据将保存到该钩子中。
const [accountData, setAccountData] = useState('');
下面的函数从外部json文件获取数据并将其设置为状态。
axios.get('./data/account-info.json')
.then((response) => {
//set state
setAccountData(response.data);
})
.catch((error) => {
console.log(error);
});
我使用map函数遍历状态对象。
Object.keys(accountData).map((id,customer) => {
return(
<div>
<p>ID: {id}</p>
<p>Name: {customer}</p>
</div>
)
})
输出结果一直打印出索引号而非相应的值。
//outputted elements
<div>
<p>ID: 0</p>
<p>Name: 0</p>
</div>
<div>
<p>ID: 1</p>
<p>Name: 1</p>
</div>
<div>
<p>ID: 2</p>
<p>Name: 2</p>
</div>
请问您能告诉我我在这里做错了什么吗?我知道这肯定是一些简单的问题。
TypeError: accountData.map is not a function
。 - David SandersaccountData.map
应该可以工作。 - dance2die