环境是反应功能组件。使用useState
钩子,我成功地从API调用中检索了JSON对象并可以对其进行记录。但是,我收到未定义的尝试记录子属性的记录。
"data": {
"id": 4876,
"Number": "043-008",
"Description": "On/Off Pull Chain Electrolier; Polished Brass",
"Prod Cat": "Lamp Parts",
"Mfg": "ADL",
"Mfg Number": "D4110",
"Warehouse": "2",
"Warehouse Row": null,
"Warehouse Shelf": null,
"Color": "Polished Brass",
"Stock Class": "W ",
"Unit of Measure": " ",
"Last Cost": 3.74
}
}
console.log(数据)如上所示正常,但data.id未定义。
答案 0 :(得分:1)
我看到两种可能的情况:首先,您有一个带有属性data
的对象。那么data
的值就是一个以id
作为属性的对象。因此,您需要以这种方式访问它:data.data.id
。这可能会造成混淆,但是第一个data
实际上只是变量的名称,您可以为其指定任何名称。第二个取决于您的JSON对象。
第二个问题可能是您是从API而不是实际对象获取对象的对象的字符串表示形式的对象。尝试像这样将其解析为JSON:
const parsedData = JSON.parse(data);
console.log(parsedData.data.id);