通过React中的嵌套对象进行映射

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

我无法在其他地方找到这个,所以我们走了。我正在尝试通过嵌套对象进行映射并显示值,但我能得到的只是显示的键。

宾语:

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,但不返回实际值。

我在这里错过了什么?

reactjs loops object nested
1个回答
1
投票

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>
© www.soinside.com 2019 - 2024. All rights reserved.