如何通过forEach循环将Map()项目渲染到React jsx中?

时间:2019-05-30 18:31:19

标签: javascript reactjs

我有一个处于状态的Map()对象,该对象存储了一些名称和用于列表过滤器的选项。但是我无法像这样通过forEach在JSX中呈现Map项目:

x %>% 
group_by(name) %>%
summarise(value = value[condition == "B"] / value[condition == "A"])

显然,没有forEach我无法访问Map项,在这种情况下Array.map()不可用。

处理此问题的最佳实践是什么?我应该先使用entrys(),然后使用Array.map(),然后呈现列表?

谢谢

1 个答案:

答案 0 :(得分:2)

选项1:如果您不能使用map ,请使用变量

const elems = []
this.state.items.forEach((value, idx) => (
  elems.push(<li key={idx}>{value}</li>)
))

然后在渲染时

<ul>
  {elems}
</ul>

选项2:如果您可以使用map ,则只需内联即可

<ul>
  {
    this.state.items.map((value, idx) => <li key={idx}>{value}</li>)
  }
</ul>