React Native - 从 Firestore 获取文档数据后无法设置状态

像素编码器

我是 React Native 的新手,几周前才开始学习它。我正在尝试创建用户配置文件页面,从 Firestore 获取数据后,我无法将数据设置为userProfile状态。

  const {userProfile, setUserProfile} = useState(null);

  const getUserProfile = async () => {
    await firestore().collection("Users")
    .doc(user.uid)
    .get()
    .then(documentSnapshot => {
      if (documentSnapshot.exists) {
        console.log('User data from Firestore: ', documentSnapshot.data());
        setUserProfile(documentSnapshot.data());
      }
    });    
  }

  useEffect (() => {
    if (userProfile == null) {
      getUserProfile();
      console.log("User Data in userProfile state: ", userProfile);
    }
  }, [userProfile]) 

我收到了这个错误:

在此处输入图像描述

控制台日志显示userProfile状态未定义,但是,我能够从 Firestore 检索数据而没有任何问题,如控制台日志中所示。

在此处输入图像描述

我已经尝试解决它很长时间了,但仍然无法解决它。任何帮助将不胜感激!

阿纳夫·辛格
const {userProfile, setUserProfile} = useState(null); <----- error is here

  const getUserProfile = async () => {
    await firestore().collection("Users")
    .doc(user.uid)
    .get()
    .then(documentSnapshot => {
      if (documentSnapshot.exists) {
        console.log('User data from Firestore: ', documentSnapshot.data());
        setUserProfile(documentSnapshot.data());
      }
    });    
  }

  useEffect (() => {
    if (userProfile == null) {
      getUserProfile();
      console.log("User Data in userProfile state: ", userProfile);
    }
  }, [userProfile]) 

而不是const {userProfile, setUserProfile} = useState(null);

将其替换为const [userProfile, setUserProfile] = useState(null);

因为你在curly brackets使用{userProfile,setUserProfile}

你需要用square brackets [userProfile,setUserProfile]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法在Firestore中获取文档(React Native)

从 Firestore 获取文档数据后无法设置状态

无法在React Native中从Firebase Firestore获取数据

在React Native中从Firestore文档读取和显示数据

React Native:如何检索Firebase Firestore文档作为数组?

拨动开关React Native Firestore

如何遍历 firestore 数组并在 React Native 中获取值

无法在React Native视图中显示Firestore信息

react native中Flatlist中firebase firestore的数据不会呈现

如何在React Native中显示来自Firebase Firestore的数据

Firebase Firestore - 在 React Native 中显示查询的数据

如何使用 React Native 显示来自 Firestore 的数据

Firestore-如何在React Native中通过ID获取文档

如何从 React Native 中的 Firestore 获取集合中的所有文档

从Firestore获取数据后如何设置状态

如何使用React Native将文档添加到Firestore数据库

如何从React Native中的Reference数据类型获取Firebase Firestore中的数据

在React Native中通过获取设置状态

如何在React Native中使用两个Firestore查询获取数据

执行从React-Native获取数据时,Firebase Firestore权限被拒绝

React-Native Redux 无法设置状态

React Native + TypeScript,无法设置状态

Cloud Firestore是否支持React Native

React Native Firestore时间戳为null

React Native:显示 Firestore 布尔值

错误Cloud Firestore addEventListener不是#react-native #firestore函数

如何在React-native中从Firestore中读取子集合的文档字段

再次删除一个包含文档和集合的集合(firestore react native)

将图像从Firebase Storage链接到Firestore文档并在React Native中显示它们