Javascript对象没有键

时间:2019-07-02 21:58:07

标签: javascript reactjs object

我正在使用React。我有一个对象(我从道具获得),无法访问其键/值。然后,出于比较原因,我决定在console.log中将此对象与模拟第一个对象结构的虚拟对象一起使用,如下面的代码所示:

var dummyArr1 = [{1:"hey"}, {2:"my"}, {3:"gosh"}]
var dummyArr2 = [{1:"hey"}, {2:"my"}, {3:"gosh"}]
var dummyObj = { key1: dummyArr1,   key2gwegwegwegweg: dummyArr2 }
console.log(this.props.foreignObjects)
console.log(dummyObj)
console.log(Object.keys(this.props.foreignObjects))

结果如下所示:

Result of console.log showing an object with no keys

您可以看到,仅当我单击侧面的小箭头以显示更多内容时,控制台才立即显示原始对象的键。我的虚拟对象不会发生这种情况。

我的问题是:为什么?为什么我不能访问原始对象的键(例如通过输入this.props.foreignObjects [conexao_inversor])?以及如何访问其中的数据?

非常感谢您的宝贵时间。

编辑:这是应用程序的数据流:

首先,我得到所有为主表的外键表:

let foreignKeys = {}
foreignColumns.forEach((column, index) => {
    let foreignUrl = "http://localhost:4000/edit/get-data/" + column.foreignKeyOf
    fetch(foreignUrl)
    .then(foreignResponse => foreignResponse.json())
    .then(foreignResponse => {
        foreignObjects[column.foreignKeyOf] = foreignResponse.data
    })
})
this.setState({
    foreignObjects: foreignObjects
})

然后,当调用我的组件时,我传递如下的道具:

<TableRowGenerator
    tableStructure={this.props.tableStructure}
    objects={this.state.objects}
    foreignObjects={this.state.foreignObjects}
/>

然后,在我的组件内部的render函数中,我按照问题的第一个代码片段中的描述进行访问。

0 个答案:

没有答案