Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从Firestore集合中的文档中获取数据?_Javascript_React Native_Google Cloud Firestore - Fatal编程技术网

Javascript 如何从Firestore集合中的文档中获取数据?

Javascript 如何从Firestore集合中的文档中获取数据?,javascript,react-native,google-cloud-firestore,Javascript,React Native,Google Cloud Firestore,我正在与React Native和Firestore合作,从我的Firestore文档中获取名称(Steve Jobs)的值时遇到了很多麻烦。我想将我的displayName状态设置为Steve Jobs。我能够将文档和子集合添加到Firestore,但我的问题是从中读取。我已经包括了我的代码的简化版本 import React,{useffect,useState}来自“React”; 从“react native”导入{View,Text,SafeAreaView}; 从“../../fi

我正在与React Native和Firestore合作,从我的Firestore文档中获取名称(Steve Jobs)的值时遇到了很多麻烦。我想将我的displayName状态设置为Steve Jobs。我能够将文档和子集合添加到Firestore,但我的问题是从中读取。我已经包括了我的代码的简化版本

import React,{useffect,useState}来自“React”;
从“react native”导入{View,Text,SafeAreaView};
从“../../firebase/fbConfig”导入firebase;
const ProfileHeader=()=>{
const[displayName,setDisplayName]=useState(null);
const UID=firebase.auth().currentUser.UID;
设db=firebase.firestore();
useffect(()=>{
//从用户集合中包含UID的文档中获取名称Steve Jobs
});
返回(
{displayName}
);
};
导出默认的ProfileHeader;

好的,我想出来了。如果有人遇到类似问题,以下是解决方案:

import React, { useEffect, useState } from "react";
import { View, Text, SafeAreaView } from "react-native";
import firebase from "../../firebase/fbConfig";

const ProfileHeader = () => {
    const [displayName, setDisplayName] = useState([]);

    const UID = firebase.auth().currentUser.uid;

    let db = firebase.firestore();

    const getData = async () => {
        const snapshot = await db.collection("users").doc(UID).get();

        setDisplayName(snapshot.data());
    };

    useEffect(() => {
        getData();
    }, []);

    return (
        <>
            <SafeAreaView>
                <Text>{displayName.name}</Text>
            </SafeAreaView>
        </>
    );
};

export default ProfileHeader;
import React,{useffect,useState}来自“React”;
从“react native”导入{View,Text,SafeAreaView};
从“../../firebase/fbConfig”导入firebase;
const ProfileHeader=()=>{
const[displayName,setDisplayName]=useState([]);
const UID=firebase.auth().currentUser.UID;
设db=firebase.firestore();
const getData=async()=>{
const snapshot=await db.collection(“users”).doc(UID.get();
setDisplayName(snapshot.data());
};
useffect(()=>{
getData();
}, []);
返回(
{displayName.name}
);
};
导出默认的ProfileHeader;
import React, { useEffect, useState } from "react";
import { View, Text, SafeAreaView } from "react-native";
import firebase from "../../firebase/fbConfig";

const ProfileHeader = () => {
    const [displayName, setDisplayName] = useState([]);

    const UID = firebase.auth().currentUser.uid;

    let db = firebase.firestore();

    const getData = async () => {
        const snapshot = await db.collection("users").doc(UID).get();

        setDisplayName(snapshot.data());
    };

    useEffect(() => {
        getData();
    }, []);

    return (
        <>
            <SafeAreaView>
                <Text>{displayName.name}</Text>
            </SafeAreaView>
        </>
    );
};

export default ProfileHeader;