React native React Native-根据索引的状态尝试打印

React native React Native-根据索引的状态尝试打印,react-native,React Native,我试图循环遍历这个数组并打印出报价,这取决于它是保存为true还是false。 目前,它只是在JSON数组中打印出来。我是新来的本地人,所以不能100%确定map的行为 我不明白为什么代码中有两个映射。一个就够了: quotes.quotesArray.map((quote, i) => { if(quote.isSaved){ return( <TouchableOpacity key={i} styl

我试图循环遍历这个数组并打印出报价,这取决于它是保存为true还是false。 目前,它只是在JSON数组中打印出来。我是新来的本地人,所以不能100%确定map的行为


我不明白为什么代码中有两个映射。一个就够了:

quotes.quotesArray.map((quote, i) => {
  if(quote.isSaved){
    return(                            
      <TouchableOpacity key={i} style = {styles.border}>
        <Text style = {styles.text}>
          i: {i}. {quote.preview}
        </Text>
      </TouchableOpacity> 
    )
  } else {
    return <Text key = {i}>{i}Nada</Text>
  }
});
map方法使用调用 在此数组中的每个元素上提供函数

详情如下:


以下是react文档中的一些示例:应该足够接近react native

这没有变量i。我需要在报价之后吗?对不起!我的错。我编辑了我的答案。第二个参数是可选的,除非你使用它当然…我做了第二次编辑。。。quote表示您正在迭代的元素,因此,您不需要quotes.quotesArray[i]。预览,而需要quote.preview。此操作返回有效的react元素,或者必须返回null。您可能返回了未定义、数组或其他无效对象。-不知道为什么。我不知道。。。我用标签把它围起来
quotes.quotesArray.map((quote, i) => {
  if(quote.isSaved){
    return(                            
      <TouchableOpacity key={i} style = {styles.border}>
        <Text style = {styles.text}>
          i: {i}. {quote.preview}
        </Text>
      </TouchableOpacity> 
    )
  } else {
    return <Text key = {i}>{i}Nada</Text>
  }
});
   render() {
     return (
       <View>
        {quotes.quotesArray.map...}
      </View>
     );
   }