當我嘗試制作掛鉤以從 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]
}
反應給我一個錯誤:第 9:5 行:期望一個賦值或函式呼叫,而是看到一個運算式 @typescript-eslint/no-unused-expressions。
uj5u.com熱心網友回復:
您需要在 useEffect 中呼叫匿名函式。看起來您的 setuserDetails 呼叫中有一組額外的括號。另外,doc.data()兩者doc.id都正確嗎?
useEffect(() => {
(async () => {
const doc = await db.collection("Users").doc(userid).get();
// removed parens
setuserDetails({...doc.data(), id: doc.id}));
// added parens
})();
}, []);
uj5u.com熱心網友回復:
修正:這是使用效果的正確方法
useEffect(() => {
(async function() {
const doc = await db.collection("Users").doc(userid).get();
setuserDetails(({...doc.data(), id: doc.id}))
})();
}, []);
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/485297.html
上一篇:錯誤節點:“binary_crossentropy/Cast”在訓練模型時不支持將字串轉換為浮點數
下一篇:角數管道在模態中不起作用
