嵌套地图循环返回不返回任何内容

IT技术 javascript arrays reactjs react-native
2021-05-17 09:32:32

我有一个嵌套的地图循环(每天渲染的外部,以及当天渲染元素的内部。我遇到的问题是,返回块中没有返回任何内容。应该有东西的区域渲染,那里什么都没有。首先,当我只有一个循环(第一天的元素)时,我不确定为什么没有返回任何内容。其次,有没有办法组合循环?

{
  daysArray.map(days => {
    var dayState = eval('global.that.state.' + days);
    var dayStateArray = Object.values(dayState);
    dayStateArray.map(i => {
      return ( 
        <Card 
          style={{ justifyContent: 'center', alignItems: 'center' }}
          key = {i.id}
        >
          <Text key={i.name}>{i.name.replace('&amp;', '&')}</Text>
          <Text key={i.start_timestamp}>Starting: {i.start_timestamp</Text> 
          <Text key={i.end_timestamp}>Ending: {i.end_timestamp}</Text
        </Card>
      )
    })
  })
}
2个回答

我认为内部映射函数将值返回给外部映射函数。因此使用从内部映射函数返回的返回到外部映射函数。

我有一个示例代码片段:

var a=[[1,2,3],[4,5,6]]

var b=a.map((x)=>{
  let c= x.map((y)=>{
      console.log(y)
       return y*2
   })
   return c
})

console.log(b)

什么都没有渲染的原因是因为第一张地图没有返回任何内容。您需要为要呈现的元素返回嵌套地图。

{
  daysArray.map(days => {
    var dayState = eval('global.that.state.' + days);
    var dayStateArray = Object.values(dayState);
    return dayStateArray.map(i => {
      return ( 
        <Card 
          style={{ justifyContent: 'center', alignItems: 'center' }}
          key={i.id}
        >
          <Text key={i.name}>{i.name.replace('&amp;', '&')}</Text> 
          <Text key={i.start_timestamp}>Starting: {i.start_timestamp}</Text> 
          <Text key={i.end_timestamp}>Ending: {i.end_timestamp}</Text> 
        </Card>
      )
    })
  })
}