在firestore中获取一个用户的数据并在Expo中显示

Get one user's data in firestore and display in Expo

我正在使用 Expo 和 Firebase 创建一个应用程序。我目前正在使用此代码获取用户的个人资料信息:

async function getUserInfo(){
    try {
      let doc = await firestore
        .collection('users')
        .doc(auth.currentUser.uid)
        .get();

      if (!doc.exists){
        alert('No user data found!')
      } else {
        let dataObj = doc.data();
        alert(dataObj.FullName);
      }
    } catch (err){
    alert('There is an error.', err.message)
    }
  }

这样就可以了。显示警报。但是,我正在尝试显示这样的值

   <Text>Name: {here_some_variable_for_name}</Text>

这是我尝试过的方法:

  const [fullName, setFullName] = useState('')

  async function getUserInfo(){
    try {
      let doc = await firestore
        .collection('users')
        .doc(auth.currentUser.uid)
        .get();

      if (!doc.exists){
        alert('No user data found!')
      } else {
        let dataObj = doc.data();
        setFullName(dataObj.FullName);
      }
    } catch (err){
    alert('There is an error.', err.message)
    }
  }

  getUserInfo();


添加“const [fullName, setFullName] = useState('')”这一行后,代码突然不起作用了。在网络浏览器中测试时,页面是空白的。

这些都没有用。数据确实接收正确,但是显示部分不工作

找到解决方案:我忘记导入 useState,我这样做了并且成功了。