javascript - Reactjs 中的嵌套循环返回简单的 ListItem - -Object.values 和 Object.keys

标签 javascript arrays loops object array.prototype.map

真是难住了。我试图为对象数组中每个值的每个键创建一个 ListItem 。当我记录 item 时,它会以字符串形式返回我正在查找的键。伟大的!但是,列表项永远不会呈现在页面上。

return (
 <div>
  <List className="list">
   {Object.values(props.sectionInfo).forEach(section => {
   Object.keys(section).map((item, index) => {
    return (
     <ListItem button className='list-item'> //doesn't render, but also doesn't throw errors
      <ListItemText primary={item} />
     </ListItem>
     )
   });
  })}
  </List>
 </div>
);

console.log(item) //returns "red", "blue"

下面完美地呈现了列表,但是列表项是索引 (0, 1)

return (
 <div>
  <List className="list">
   {Object.keys(props.sectionInfo).map((section, index) => {
    return (
     <ListItem button className='list-item'>
      <ListItemText primary={section} />
     </ListItem>
    )
   })}
  </List>
 </div>
);

任何见解都会有所帮助。

最佳答案

这是因为您在外循环中使用了 forEach 并且它实际上没有返回任何内容,因此 Listchildren 属性code> 是未定义。试试这个:

return (
 <div>
  <List className="list">
   {Object.values(props.sectionInfo).map(section => {
   return Object.keys(section).map((item, index) => {
    return (
     <ListItem button className='list-item'>
      <ListItemText primary={item} />
     </ListItem>
     )
   });
  })}
  </List>
 </div>
);

关于javascript - Reactjs 中的嵌套循环返回简单的 ListItem - -Object.values 和 Object.keys,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58561494/

相关文章:

快速 Vapor 叶环

php - 从 MySQL 解析多行并插入到 HTML 表中

javascript - 样式新闻收录机以包含 Break 语句

javascript - 谁能用简单易懂的语言解释 ../和 ./在包含文件时有什么区别?

java - 在 Java 中向 vector 添加对象

c++ - 返回一个 void* 数组

javascript - 延迟显示 forEach 循环中的数组元素

java - 无法从循环外部找到循环中的 int

javascript - 用Java语言解释Monad转换器?

java - 在Java中,是否可以使用某种while循环(或任何东西)来确定输入提示的数量?