当对象已更新时,React访问对象的属性将返回旧数据

问题描述 投票:0回答:1

我的组件道具中有一个对象,我称之为data。此对象动态更新。但是当我尝试获取data对象的属性时会出现问题,即使对象已更新,它也会从对象返回旧数据。

例如console.log(data)返回

{
    items: [{name: "NEW NAME"}]
}

但当我尝试直接访问该属性时,情况并非如此,因为console.log(data.items[0].name)返回"OLD NAME"。由于对象包含新数据,我非常确定组件更新。问题是它呈现旧名称。

另一个细节是它返回以前的名称,例如,如果我传递新数据console.log(data)返回

{
    items: [{name: "EVEN NEWER NAME"}]
}

console.log(data.items[0].name)将返回"NEW NAME"

如果需要,我很乐意提供更多信息。

javascript reactjs
1个回答
1
投票

每次在浏览器的开发工具中更改其值时,都会评估对象。因此,即使对象是{name:“OLD NAME”},当console.log运行时,它的值也会在以后更新并显示{name:“NEW NAME”}

但是当你控制data.items [0] .name时,它会返回一个字符串“OLD NAME”,并且以后不会在Dev工具中自动评估它。我建议在页面上呈现它而不是使用控制台来检查它是否正确更新

© www.soinside.com 2019 - 2024. All rights reserved.