【问题标题】:Struggling to map an array of objects in react努力在反应中映射一组对象
【发布时间】:2022-08-22 14:52:51
【问题描述】:

编辑:由于qustion已过时而被删除

  • 您正在使用bookings 的当前索引来引用booking.pallets。您有什么保证pallets 将始终至少具有与booking\'s 索引一样多的元素?例如,如果索引 4 处的 booking 有一个包含 3 个元素的 pallets 数组,那么显然 pallets[4] 将失败。我不太清楚你期望在这里输出什么。
  • 好吧,我想从 \'cargoType\' 输出值 - 不管有多少条目..我想要所有这些
  • 我的猜测是我应该映射``` booking.pallets.map(x => (x.cargoType) ``` - 你觉得这个解决方案怎么样?

标签: javascript reactjs typescript


【解决方案1】:

你有一个对象数组。每个对象都有多个属性。这些属性之一是数组。那是不是同一个数组.

基本上,对于bookings 的数组,您需要一个循环(或.map()),并且每次预订对于pallets 的数组,您需要一个循环(或.map())。结构是一样的,一个在另一个里面。

例如:

const displayDashboard = bookings?.map((booking, bi) => (
  <React.Fragment key={bi}>
    {booking?.pallets?.map((pallet, pi) => (
      <Text key={pi}>{pallet?.cargoType)}</Text>
    ))}
  </React.Fragment>
));

(包裹在Fragment 中,因此我们可以在不更改标记的情况下应用key。如果您想对标记中的值进行分组,&lt;div&gt; 或任何其他此类元素也可以。)

【讨论】:

  • 当您最初回答时,我只是在想。谢谢!感谢您花时间理解和帮助我。祝你一切顺利!
猜你喜欢
  • 2021-06-29
  • 2020-07-29
  • 1970-01-01
  • 1970-01-01
  • 2020-10-31
  • 2023-03-05
  • 2018-05-21
  • 2019-01-07
  • 1970-01-01
相关资源
最近更新 更多