如何在状态React中正确初始化数组

时间:2020-04-29 16:14:07

标签: arrays reactjs

实际上,我会调用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: []
             }

2 个答案:

答案 0 :(得分:0)

您正在将 state.result 定义为 Array ,并尝试为其分配 json对象。这是错误的。 您可以在 state.result 数组的索引处添加API响应,或者尝试将 this.state 转换为

{ result : {}}

答案 1 :(得分:0)

如果要映射到this.state.result.numbers,则需要将result.numbers初始化为空数组:

this.state = { result: { numbers: [] } }