嵌套的Map循环返回不返回任何内容

时间:2018-05-15 05:24:44

标签: javascript arrays reactjs react-native

我有一个嵌套的地图循环(用于渲染每天的外部,以及用于在一天内渲染元素的内部。我遇到的问题是,返回块中没有返回任何内容。应该是渲染的东西,没有任何东西。首先,我不确定为什么没有返回,当我只有一个循环(第一天的元素)。第二,有没有办法可能结合环

{
  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 个答案:

答案 0 :(得分:1)

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

{
  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>
      )
    })
  })
}

答案 1 :(得分:1)

我认为内部map函数将值返回到外部map函数。所以使用内部map函数返回返回外部map函数。

我有一个示例代码段:

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)