因此,当我登录我的本机应用程序时,可以从身份验证提供程序获取用户uid。 注册后,用户输入用户名,电子邮件和密码,并将其保存在Firestore“用户”集合中,文档名称设置为UID。
我的问题是,当用户登录时我想显示用户名,并且在这里使用此代码几乎可以正常工作
const { user } = useContext(AuthContext);
const [userName, setuserName] = useState(null);
const userRef = firestore().collection('Users');
useEffect(() => {
userRef
.doc(user.uid)
.onSnapshot(documentSnapshot => {
setuserName(documentSnapshot.data().userName)
console.log(userName)
})
})
我正在获取用户名,并且正在显示,但我一直收到此错误 TypeError:null不是一个对象(正在评估“ documentSnapshot.data”)
所以在某些时候它为null,但是我能够获得用户名吗?