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

标签 javascript reactjs

我的组件 props 中有一个对象,我将其称为 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”

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

最佳答案

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

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

关于javascript - 当对象已更新时,React 访问对象的属性会返回旧数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52116144/

相关文章:

javascript - 我没有收到任何错误,但是当我尝试单击表单时,我的表单类型鼠标没有出现

javascript - 在 Chrome 和 Mozilla 中显示选择上传的图像

javascript - 如何在 HTML 中显示类似开发网站的代码?

javascript - 如果在 react js 中输入不为空,请选择另一个选项

reactjs - 我可以通过函数组件传递 ref 吗?

javascript - 使用 Highcharts + AngularJS 的内存泄漏

javascript - React 在 setState 中分配动态 id?

javascript - React redux 不同步 mapStateToProps 中的 Prop

ruby-on-rails - Rails 和 React,如何使用助手和方法?

reactjs - 响应模态/对话框的焦点输入