实际上,我会调用API并以下面的形式获取结果并将其存储到变量结果中。
我收到错误TypeError:无法读取未定义的属性“ map”。我认为这是因为未在状态中正确初始化结果。谁能告诉我如何初始化如下形式的数组。
{
"numbers": [
{
"a": "one",
"b": "two",
"c": "three",
"d": "four",
"e": "five"
},
{
"a": "one",
"b": "two",
}
]
}
以这种方式迭代:
{this.state.result.numbers.map((item, i) => {
return <li key={i}>{item.a} {item.b}</li>
})}
并在状态中初始化var结果
this.state = {
result: []
}
答案 0 :(得分:0)
您正在将 state.result 定义为 Array ,并尝试为其分配 json对象。这是错误的。 您可以在 state.result 数组的索引处添加API响应,或者尝试将 this.state 转换为
{ result : {}}
答案 1 :(得分:0)
如果要映射到this.state.result.numbers
,则需要将result.numbers
初始化为空数组:
this.state = { result: { numbers: [] } }