我正在尝试在 React 返回函数中显示 Firebase 数据库中的用户名。
我有一个名为 getUserName
的函数,它从数据库检索用户名并返回它。
const getUserName = async () => { try { const docRef = doc(db, "users/" + auth.currentUser?.uid); const userDocument = await getDoc(docRef); const userData = userDocument.data() as UserData; const userName = userData.name.split(' ')[0]; return userName; } catch (error) { console.error(error) return "Failed to Retrieve UserName"; }; }
然后我尝试在反应组件的返回中显示它。
return ( <div> Hi, {getUserName()}! </div> )
但我收到此错误:
类型“Promise
不确定我在这里做错了什么。我正在使用 TypeScript,所以我需要在某处指定类型吗?
错误信息非常清楚。 要解决此问题,您可以修改
getUserName
函数以使用useState
挂钩来存储用户名
并异步更新。