【发布时间】:2019-12-14 10:20:20
【问题描述】:
我正在尝试使用 map 函数遍历外部 json 文件中的对象数组。循环成功,但我不确定如何访问对象属性。见下文。
我正在使用 object.keys(obj).map() 但无法访问各个属性。 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);
});
我用映射函数遍历状态对象
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>
你能告诉我我在这里做错了什么吗?我知道它必须是简单的。
【问题讨论】:
标签: javascript json reactjs loops object