当我试图用钩子从firebase获取用户数据时。
import { useEffect, useState } from 'react';
import { firestore } from '../../'
import { getAuth } from 'firebase/auth';
export function useUserDetails() {
const db = firestore;
const userid = getAuth().currentUser?.uid
const [userDetails, setuserDetails] = useState<unknown>([])
useEffect(() => {
(async () => {
const doc = await db.collection("Users").doc(userid).get();
setuserDetails(({...doc.data(), id: doc.id}))
})}, [])
return [userDetails]
}
react向我返回一个错误:第9行:5:预期为赋值或函数调用,但看到的却是表达式@typescript-eslint/no-unused-expressions。
2条答案
按热度按时间rwqw0loc1#
你需要在useEffect中调用匿名函数。看起来你在setuserDetails调用中有一组额外的括号。另外,
doc.data()
和doc.id
都正确吗?3df52oht2#
修正:这是正确的使用效果的方式