React / React Native:如何映射数组并在卡片上显示数据

Posted

技术标签:

【中文标题】React / React Native:如何映射数组并在卡片上显示数据【英文标题】:React / React Native: How to Map over array and show Data on Cards 【发布时间】:2022-01-13 17:59:49 【问题描述】:

我试图 .map() 覆盖我的数组并将卡片渲染到 dom。我可以在卡上显示第二个对象中的所有内容,但无法在卡上显示 source.name ("Engadget")。

我猜是因为它是对象内部的对象?

那么如何迭代“源”对象以及如何在我的卡片上进行迭代?

数据示例

"articles": [
-
  -"source": 
   "id": "engadget",
   "name": "Engadget"
 ,

"author": "Igor Bonifacic",
"title": "Apple Wallet’s hotel keycard support is now live, starting at Hyatt hotels",
"urlToImage": "https://s.yimg.com/os/creatr-uploaded-images/2021-12/5d0536d0-5855-11ec-bbe4-0bcb4305d433",

  
]

工作卡示例

dataArray.map((newsStory)=> 
    const   url, urlToImage, title = newsStory
    
      return (
         <>
        <Card style=styles.card onPress=()=> Linking.openURL(url)>
            <Card.Cover source= uri: urlToImage  />
//trying to show source in this 'Text'
            <Text style=styles.source>source?</Text>
            <Title style=styles.cardTitle>title</Title>
        </Card> 
    
        </>

【问题讨论】:

source.name? (或newsStory.source.name,因为你还没有破坏它。) 【参考方案1】:

由于源是一个对象,所以使用source.name

dataArray.map((newsStory)=> 
    const   url, urlToImage, title = newsStory
    
      return (
         <>
        <Card style=styles.card onPress=()=> Linking.openURL(url)>
            <Card.Cover source= uri: urlToImage  />
//trying to show source in this 'Text'
            <Text style=styles.source>newsStory.source.name</Text>
            <Title style=styles.cardTitle>title</Title>
        </Card> 
    
        </>

【讨论】:

以上是关于React / React Native:如何映射数组并在卡片上显示数据的主要内容,如果未能解决你的问题,请参考以下文章

React Native 映射绘图方向

如何在 React Native 中的单个 svg 对象上映射 onPress 事件?

React Native 对象子映射在父映射中

带你彻底看懂React Native和Android原生控件之间的映射关系

react-native & firebase:请求在映射页面中的条件

React Native - XCodeBuild - 致命错误:模块映射文件