首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在前端加载firestore数据(react native)?

如何在前端加载firestore数据(react native)?
EN

Stack Overflow用户
提问于 2021-03-11 17:38:18
回答 1查看 113关注 0票数 0

我正在开发React Native App。来自firestore的数据正在加载并显示在我的控制台中,但不是在前端。我在下面有类似的代码。

代码语言:javascript
复制
state={
record:[],
}

componentdidmount(){
this.displaydata();
}

displaydata =()=>{

Firebase query here//
//data gets load and stored in userrecords array below.

const userrecords=[];
userrecords.push(data); // data from firestore
console.log("User data":userrecords); // it displays it to console like below.
     --------------------
 Console : 
    Array[
       Object{
         "user":"ABC"
         "age":25
    },
    ]
    Array[
       Object{
         "user":"XYZ"
         "age":30
    },
    ]
    ----------------------
this.setState({record:userrecords})

}

在前端加载下面是我的代码:但它不加载在前端。可能的原因是什么?

代码语言:javascript
复制
 render(){
    return(
   <View style={{ flex: 1 }}>
       {this.state.record ? (
        <>
         <Text>Data from firebase firestore</Text>
         <FlatList
         style={{ flex: 1 }}
         data={this.state.record}
         keyExtractor={(key, index) => key + index}
         renderItem={(itemData) => {
           {console.log(itemData.item.age)}  // it display all data on console.
           return <Text>{itemData.item.age}</Text>; // it display last array data item only.
         }}
         />
       </>
       ) : (
       <View
         style={{ flex: 1, justifyContent: "center", alignItems: "center" }}
       >
         <ActivityIndicator size="large" color="black" />
       </View>
     )}
     </View>
    );
    }

我的控制台:ConsoleData_ ..Error

EN

回答 1

Stack Overflow用户

发布于 2021-03-11 22:22:50

来自您的firestore的数据如下所示

代码语言:javascript
复制
[
    [
      {
        user: "ABC",
        age: "25",
      },
    ],
    [
      {
       user:"XYZ",
       age:"30",
      }
    ],
]

使用FlatList进行。别忘了导入ActivityIndicator

代码语言:javascript
复制
import { StyleSheet, Text, View, FlatList, ActivityIndicator } from "react-native";   
... 
... 
render(){
    return(
       <View style={{ flex: 1 }}>
       {this.state.record ? (
        <>
         <Text>Data from firebase firestore</Text>
         <FlatList
         style={{ flex: 1 }}
         data={this.state.record}
         keyExtractor={(key, index) => key + index}
         renderItem={(itemData) => {
           return <Text>{itemData.item[0].age}</Text>;
         }}
         />
       </>
       ) : (
       <View
         style={{ flex: 1, justifyContent: "center", alignItems: "center" }}
       >
         <ActivityIndicator size="large" color="black" />
       </View>
     )}
     </View>
    );
   }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66579871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档