在 REACT 中访问对象列表

Access a list of objects in REACT

提问人:Gabo19 提问时间:8/31/2023 更新时间:8/31/2023 访问量:41

问:

我想我遗漏了一些东西,但我正在尝试将对象列表保存到 localStorage,然后我想显示这些对象。

当引入列表时,我打印到控制台,我得到:[object, Object],所以我使用:

JSON.stringify(obj)

并开始输出:“[object, Object]”

因此,在显示列表时,我收到错误:obj.map不是一个函数。

错了?

法典:

console.log(window.localStorage); // in console: Storage { "Lista-tareas": "[object Object],[object Object]", length: 1 }
let obj = window.localStorage.getItem("Lista-tareas");
console.log(JSON.stringify(obj)); // in console: "[object Object],[object Object]"
console.log(obj.map( value => value.text )); // in console: error obj.map is not a function
JavaScript ReactJS 数组对象

评论

0赞 ray 8/31/2023
当你把它串起来时,它就不再是一个对象了。这是一个字符串。要将其转换回对象,您必须使用它。JSON.parse(obj)

答:

0赞 Danziger 8/31/2023 #1

您可能需要 JSON.parse(obj),因为存储在其中的内容已经字符串化了:localStorage

try {
  // This line is just setting some test content inside localStorage:
  localStorage.setItem('someData', JSON.stringify({ foo: 'bar' }));

  // This is how you get and parse a stringified object from localStorage:
  const someData = JSON.parse(localStorage.getItem('someData'));

  console.log(someData)
} catch(err) {
  // ...
}

评论

0赞 Gabo19 9/1/2023
谢谢,我在任何地方都找不到该功能,现在我可以正常显示我的对象了
0赞 Danziger 9/1/2023
@Gabo19 没问题。MDN 或 W3Schools 通常是最好的👌地方
1赞 Danziger 9/1/2023
@Gabo19 另外,如果这解决了您的问题🙏,请不要忘记投票/接受
0赞 Gabo19 10/10/2023
@Danzinger一切都解决了