首页 > 解决方案 > 在 useState 中对对象使用地图

问题描述

我在我的 useState 中创建了一个人对象,但我在使用map该人对象上的函数时遇到了麻烦。任何帮助表示赞赏。

 const [person, setPerson] = useState({
    name: "Nick",
    age: 30,
    showPersons: true,
  });

提前致谢!

标签: reactjs

解决方案


Array.prototype.map是一个只对数组进行操作的数组方法。person虽然是一个对象,所以您需要先将其转换为数组。

值数组(Object.values):

Object.values(person); // ["Nick", 30, true]

键值对数组(Object.entries):

Object.entries(person); // [["name", "Nick"], ["age", 30], ["showPersons", true]]

为了完成主义者的缘故,还有一个键数组(Object.keys),但这可能同样有用:

Object.keys(person); // ["name", "age", "showPersons"]

推荐阅读