首页 > 解决方案 > 如何在 React Native 中获取对象数组中的对象

问题描述

我有点迷失在我的静态数据中访问一些信息。这是数据:

{
 "info1": {
    "label": "label",
    "class": "class-css",
    "title": "title",
    "text": "text",
    "number": "20",
    "tags": [
         {
            "name": "#twitter"
        },
        {
            "name": "#myspace"
        }
    ]
 },
 "info2": {
    "label": "label",
    "class": "class-css",
    "title": "title",
    "text": "text",
    "number": "20",
    "tags": [
         {
            "name": "#instagram"
        },
        {
            "name": "#facebook"
        }
    ]
  }
}

然后我得到这样的第一个信息:

this.setState({
    currentLabel: this.state.labels["info1"]
})

这就是为什么我想要然后我想在组件中显示信息并且它一直在工作,直到我尝试获取tags信息。我尝试了.map()但没有成功和错误。

<View>
   <Text>{infoDetail.title}</Text>
   <Text>{infoDetail.text}</Text>
   <Text>How do I get "tags" information</Text>
</View>

是否可以访问数组“标签”中的这些对象?

标签: javascriptarraysreactjsobjectreact-native

解决方案


是的,您可以按以下方式调用标签 infoDetail.tags 并在其上进行映射

render(){
      const tagItems = infoDetail && infoDetail.tags.map((item, index) => {
          return <Text key={index}>{item.name}</Text>
      });
      return(
        <View>
          <Text>{infoDetail.title}</Text>
          <Text>{infoDetail.text}</Text>
          {tagItems}
        </View>
      )
}

推荐阅读