繁体   English   中英

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

[英]How can I render Map() items into React jsx by forEach loop?

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

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

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

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

谢谢

选项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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM