如何传递验证uid作为查询参数没有得到未定义?



我正在使用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) }

这在文档的依赖查询部分中有记录。

相关内容

  • 没有找到相关文章

最新更新