我不确定这是响应问题还是JavaScript问题。 我的状态下的数据设置是包含对象数组的对象。 这些对象阵列无法正常下降。 我试图将整个对象数组作为道具传递到子组件中,然后遍历该数组以呈现每个对象。不管我做什么,我似乎都无法正确访问该数组。
我希望这是向您提供我所有详细信息的最佳方式。
这是我状态的一部分(我只打开了其中一个组)
context.js:72
(3) [{…}, {…}, {…}]
0: {id: "5c0fd8da9af84012ee8b5edf", title: "Test", groups: Array(1)}
1:
groups: Array(4)
0: {id: "5c2fdff78b3f6295dce3f63d", title: "Group #1", commands: Array(0)}
1: {id: "5c2fdffc8b3f6295dce3f63e", title: "Group #2", commands: Array(0)}
2: {id: "5c2fdfff8b3f6295dce3f63f", title: "Group #3", commands: Array(0)}
3: {id: "5c2fe0028b3f6295dce3f640", title: "Group #4", commands: Array(0)}
length: 4
__proto__: Array(0)
id: "5c10307e0ba810224f988e4c"
title: "Test 2"
__proto__: Object
2: {id: "5c2fb6930fb58e8ce67977cc", title: "Next Silo Test", groups: Array(3)}
length: 3
__proto__: Array(0)
现在,我要访问筒仓的groups数组。我一直支持我的应用程序的根目录,但仍然存在这个问题,因此超出了支持范围。 如果我通过控制台登录筒仓和组项目,则结果为
silo
{id: "5c10307e0ba810224f988e4c", title:
"Test 2", groups: Array(0)}groups: (4) [{…}, {…}, {…}, {…}]0: {id: "5c2fdff78b3f6295dce3f63d",
title: "Group #1", commands: Array(0)}1: {id: "5c2fdffc8b3f6295dce3f63e", title: "Group #2", commands: Array(0)}
2: {id: "5c2fdfff8b3f6295dce3f63f", title: "Group #3", commands: Array(0)}
3: {id: "5c2fe0028b3f6295dce3f640", title: "Group #4", commands: Array(0)}length:
4__proto__: Array(0)id: "5c10307e0ba810224f988e4c"title: "Test 2"
__proto__: Object
17:05:57.127 Main.js:17 silo.groups []0: {id: "5c2fdff78b3f6295dce3f63d",
title: "Group #1", commands: Array(0)}1: {id: "5c2fdffc8b3f6295dce3f63e", title: "Group #2", commands: Array(0)}
2: {id: "5c2fdfff8b3f6295dce3f63f", title: "Group #3", commands: Array(0)}
3: {id: "5c2fe0028b3f6295dce3f640", title: "Group #4", commands: Array(0)}
length: 4
__proto__: Array(0)
17:05:57.128 Main.js:18 silo.groups[0] undefined
从这里我看到的是silo是一个对象,silo.groups是一个数组。我无法访问该数组内部的任何元素。即使我执行silo.groups.length,它显示的长度为4,但我却得到0而不是4。
我正在用silos.forEach(silo => {
遍历根数组,并希望同样适用于每个silo.groups。
这是之前创建输出的代码。第一个console.log是从将孤岛的值加载到上下文脚本中的状态时转储出来的。在此之前,此组件将永远无法渲染。
const { silos, user } = value
if (Object.keys(user).length > 0) {
const siloList = []
silos.forEach(silo => {
console.log("silo",silo)
console.log("silo.groups",silo.groups)
console.log("silo.groups[0]",silo.groups[0])
在这里我找不到我想念的东西或我弄错了什么。
如果我使用这种结构创建一个JSON对象,我可以自己执行此操作,可以使用相同的代码对其进行钻取,并从每个对象内的每个数组中取出项目。在此应用中某个地方完成此操作后,情况发生了变化。我看不到在哪里。
-编辑:为项目添加仓库-
如果它可以帮助这里的任何人,请立即访问该项目的github存储库 https://github.com/jeremyhawkins1/robin.git