使用 ReactJS 映射数组数组

IT技术 arrays reactjs
2021-05-15 04:50:49

所以我要做的是映射一个数组数组

首先,我从简单开始并开始工作 - 一个简单的国家/地区数组(好吧,国家/地区代码)

{countries.map((value, index) => {
  return (
    <span
      key={index}
      className="semi-bold clear"
    >
      <h2>Hello world</h2>

      <hr />
    </span>
  )
})}

这是它的外观,左侧是浏览器,右侧是控制台;

控制台日志 1

伟大的!到目前为止一切都很好,接下来是我的数组数组 - 这是控制台日志中的样子

控制台日志 2

所以这是一个由 4 个数组组成的数组,这就是我摔倒的地方,使用上面相同的示例代码,但用这个 4 个数组的数组替换第一个数组,但是当我这样做时,整个事情都倒了,我不明白为什么那行不通,我期待像以前一样返回 4 个 hello worlds

如果不清楚,这里有一个我最终想要在浏览器中实现的模型!

完成的浏览器视图

1个回答

您有一个 Javascript 对象,其中包含国家代码到数据数组的键值映射。

要遍历 Javascript 对象,您需要执行以下操作:

render () {
  const historicalData = this.groupedByCountryHistoricalFilings()

  return(
    <div>
      {Object.keys(historicalData).map((key) => {
         return (
           <div key={key}>
              <h1>{key}</h1>
              {historicalData[key].map((dataItem) => {
                return (
                 <span key={dataItem.id}>{dataItem.title}</span>
                )
               })}
           </div>
         )
       })}
     </div>
   )
 }

这假设每个数组中的每个项目都有一个id和 a title根据需要更改这些。

显然,阅读起来非常复杂,因此我建议将其分解为更小的组件——一个CountryHistoricalList可能带有国家代码、标题和一组数据的组件。