我正在使用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))
结果如下所示:
您可以看到,仅当我单击侧面的小箭头以显示更多内容时,控制台才立即显示原始对象的键。我的虚拟对象不会发生这种情况。
我的问题是:为什么?为什么我不能访问原始对象的键(例如通过输入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函数中,我按照问题的第一个代码片段中的描述进行访问。