尝试从JSON响应中获取数据时,获取“ variable is undefined”或“ variable.map”不是函数

时间:2019-12-17 20:48:29

标签: json reactjs

我之前已经做过,但是我不确定在这里出现什么错误,以便使用从JSON响应中检索的选项填充select下拉列表。 API调用成功,我可以看到数据被拉出,但无法在select下拉选项中显示。

关注的杂货是idsFetched

---- JSON RESPONSE ---- Stored in variable = storeRanges

{
    "Stores": [
        {
            "mode": "LOADED",
            "value": {
                "description": "Ontario-Example-123",
            }
        },
        {
            "mode": "LOADED",
            "value": {
                "description": "Ontario-Example-456",
            }
        },
        {
            "mode": "LOADED",
            "value": {
                "description": "Ontario-Example-789",
            }
        },
    ]
}
dniTygodnia [6, 0] = "6.0";

2 个答案:

答案 0 :(得分:0)

首先请确保您已完成ifstream leer_ECG8("ECG_pueba_1.csv", ios::binary); leer_ECG8.read((char*)(&leer_linea_final), sizeof(linea_final)); for( unsigned int i =0;i<leer_linea_final.size();i++) cout<<leer_linea_final[i]; leer_ECG1.close(); ,否则您将只存储一个字符串,使JSON.parse(apiResponse)可能引起您的问题。

其次,通过将函数包装在检查中来确保已首先设置状态。如果您已正确完成设置状态后的重新渲染,则无需担心

答案 1 :(得分:0)

我能够通过在状态中声明一个空变量,然后在ComponentDidUpdate挂钩中更新状态并在onChange方法中访问状态来解决此问题。

componentDidUpdate(prevProp, prevState){
this.setState({idsFetched: this.state.storeRanges.Stores})
}

onChange(){
options = ranges.map(range => {
                    return {value: range.value.description, label: range.value.description};
                })
}

这是我可以访问从JSON响应中获取的存储阵列的方法!

谢谢大家调查我的查询!