在 React Native 中访问嵌套数组的值

Posted

技术标签:

【中文标题】在 React Native 中访问嵌套数组的值【英文标题】:Accesssing Value of Nested array in React Native 【发布时间】:2018-08-24 10:05:06 【问题描述】:

我正在尝试访问嵌套的 json 数组并在其中显示值,我可以在 rowData 和 textfields 中显示所有其他 json 数据,但我无法显示具有嵌套数组的那个。

这是我的 json

[
  
    Address: "Njjzjjz",
    created_at: "2018-08-17 23:55:43",
    email: "Helen",
    gender: "Female",
    id: 24,
    name: "Helen",
    password: "$2y$10$.0fahBOp94ABqY6NTDf9S.9w880dsMRS.0azq4wAiB6evOxSxFAfC",
    phone: "9997",
    profile_pic: ["ec9bbcd6df212029715a34fe825e8616.jpeg", "1960.png"],
    remember_token: null,
    state_of_origin: "Akwa Ibom",
    state_of_resident: "Abia",
    updated_at: "2018-08-17 23:55:43"
  
  // More Objects are here
 ]
我对 profilepic 有疑问

这就是我在行数据中显示它的方式

 <View style=styles.MainContainer>

   <ListView

     dataSource=this.state.dataSource

     renderSeparator= this.ListViewItemSeparator

     renderRow=(rowData) =>

    <View style=flex:1>

    <Image source=uri:'http://192.168.43.71/upload/images/'+rowData.profile_pic[0]  // this is my problem
   style=width: 400, height: 400 />
    this.test()

      <Text onPress=this.GetItem.bind(this, rowData.email) style=styles.textViewContainer >rowData.email</Text>
      <Text onPress=this.GetItem.bind(this, rowData.password) style=styles.textViewContainer >rowData.profile_pic[0]</Text>
       <Text onPress=this.GetItem.bind(this, rowData.email) style=styles.textViewContainer >this.state.photos[0]</Text>

    </View>
     
   />

【问题讨论】:

比你编辑问题我正在尝试编辑它,但我还不熟悉 SO 功能,无论如何我需要帮助解决这个问题,提前谢谢 请问,您正在为哪个平台构建应用程序 androidios 反应原生,android 【参考方案1】:

我认为您需要设置图像的宽度和高度。

 <Image 
  source=uri: "http://192.168.43.71/upload/images/" + rowData.profile_pic[0] 
  style=width:100, height:100
  resizeMode="cover"
/>

您可以根据需要从不同的调整大小模式选项中进行选择。

更多详情请查看:support Linkofficial documentation

【讨论】:

是的 url 是正确的,我可以显示其他 json 数据,问题是我无法访问 profile_pic[] 中的数据,它显示为数组,当我使用 rowData.profile_pic[0] i在控制台上获得“[”,如果我使用 rowData.profile_pic[1],我会在控制台上获得“””,如果我使用 rowData.profile_pic[2],我会在控制台上获得“e” 我认为在您的 json 对象中,profile_pic 是字符串而不是数组。因此,当您尝试打印 profile_pic[0] 时,它正在重新调整字符串的第一个字符。 声明你的 profilePic 像这样 profile_pic: ["ec9bbcd6df212029715a34fe825e8616.jpeg", "1960.png"],。不是你第一次复制的问题

以上是关于在 React Native 中访问嵌套数组的值的主要内容,如果未能解决你的问题,请参考以下文章

在 React Native 中更新嵌套状态对象?

React Native - 如何从父级获取 FlatList 项的值

React-native 将渲染数组中的值插入到新数组中

在 react-native 中迭代 JSON 数组

将对象数组中的值与 React Native/Javascript 中的字符串进行比较

如何在 React Native 中访问、更新和保存数组索引?