我正在使用react-query-firebase库对文档进行查询。
根据文档,这是如何进行查询:
const ref = doc(firestore, 'users', id);
const product = useFirestoreDocument(["users", id], ref);
一切作品当我手动设置id如下:
const id = "pW5CizOJOpXezr5lGGsh";
然而,我想动态地设置uid,我也使用auth状态钩子:
const user = useAuthUser(["user"], auth);
const ref = doc(firestore, "users", user.data.uid);
的问题是,在页面加载时,用户初始化为未定义,我需要等待一秒钟user.data.uid因此我得到了TypeError: Cannot read property 'indexOf' of undefined
是否有一种方法可以跳过查询,直到用户完成加载,然后再进行查询?
使用react-query,您通常只需disable
查询,直到您通过enabled
属性拥有所有依赖项:
useQuery(["users", id], ref, { enabled: Boolean(id) }
这在文档的依赖查询部分中有记录。