如何指定子属性的值

时间:2019-09-10 23:38:29

标签: javascript reactjs

环境是反应功能组件。使用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未定义。

1 个答案:

答案 0 :(得分:1)

我看到两种可能的情况:首先,您有一个带有属性data的对象。那么data的值就是一个以id作为属性的对象。因此,您需要以这种方式访问​​它:data.data.id。这可能会造成混淆,但是第一个data实际上只是变量的名称,您可以为其指定任何名称。第二个取决于您的JSON对象。

第二个问题可能是您是从API而不是实际对象获取对象的对象的字符串表示形式的对象。尝试像这样将其解析为JSON:

const parsedData = JSON.parse(data);
console.log(parsedData.data.id);