首页 > 解决方案 > 通过 React 中的嵌套对象进行映射

问题描述

我在其他任何地方都找不到这个,所以我们开始吧。我正在尝试映射嵌套对象并显示值,但我能得到的只是显示的键。

目的:

data = {
  objectOne: {
    name: "some name",
    otherValue: "something else"
  },
  someValue: "someValue",
  someOtherValue: "asdasd",
  objectTwo : {
    v1 : "v1",
    v2 : "v2",
    v3 : "v3",
  }
}

我的函数循环遍历它:(我只想显示objectOne的内容)

Object.keys(data.objectOne).map(field => <div key={field}>{field}</div>

这将返回nameotherValue不是实际值。

我在这里想念什么?

标签: reactjsloopsobjectnested

解决方案


Object.keys()返回对象中的数组,这解释了为什么只有键被打印出来。尝试Object.values()改用(ES2017):

Object.values(data.objectOne).map(value => <div key={value}>{value}</div>

或者,您可以坚持Object.keys使用括号表示法从对象中获取该键的值data.objectOne

Object.keys(data.objectOne).map(field => <div key={field}>{data.objectOne[field]}</div>

推荐阅读