我试图映射对象内的对象集合并访问颜色项,但收到错误意外的标记,预期为“,”
。这就是我试图绘制的方式。这是映射对象以从颜色中检索值的正确方法吗?
{Object.keys(this.state.lists).map((item, i) =>
(this.state.lists[item].colors).map(item, i) =>
<li key={i}>{this.state.lists[item].colors[item]} </li>
)}
this.state.lists
看起来像这样:
{{id: 1, colors:["red", "blue"]}, {id: 2, colors:["green", "yellow"]}}
最佳答案
您没有通过callback function到第二个 map
调用,.map(item, i)
。因此出现语法错误。它应该类似于 .map((item, i) => ...)
。
这里有一些清理过的代码,可能可以理解这一点,尽管我还没有测试它是否适用于 React:
const colors = Object.keys(this.state.lists).map(itemKey => {
return <li key={itemKey}>{this.state.lists[itemKey].colors[0]}</li>
})
当你渲染时,
<ul>{colors}</ul>
关于javascript - 意外的标记,循环对象时应为 ",",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53473316/