Firestore使用usEffect获取单个文档不起作用



我试图使用useEffect获得单个文档,但我不知道为什么当我试图控制台记录数据时,我在浏览器控制台没有得到任何东西。但是当我在useEffect之外执行时,它会记录docRefconsole.log(doc.data(), doc.id);

下面是我的代码:

export function MaterialCard() {
const [material, setMaterial] = useState({});
const location = useLocation()
const { id } = useParams();

useEffect(() => {
const getDocument = async () => {
try {
const docRef = doc(db, "materials", id);
console.log(docRef);
const docSnap = await getDoc(docRef).then((doc) => {
console.log(doc.data(), doc.id);
});
if (docSnap.exists()) {
setMaterial(docSnap.data());
} else {
console.log("No such document!");
}
} catch  (e) {
console.log(e)
};
getDocument();
}
}, [])

我花了很多时间来寻找问题,我发现我在自己内部调用了函数getDocument.

最新更新