【问题标题】:How to get a user document with react firebase hooks?如何使用 react firebase hooks 获取用户文档?
【发布时间】:2022-06-20 15:57:09
【问题描述】:

每当我尝试在我的云 Firestore 集合“文档”中为用户的文档制作挂钩时,我都会收到错误消息:

TypeError:无法读取 null 的属性(读取 'uid')

我认为这是因为当页面运行此代码时,user.uid 尚未加载。但是,我不确定如何让我的应用在创建此钩子之前等待用户加载。

对于我正在使用的这个应用程序:

  • Next.js (TypeScript)
  • Firebase v9
  • React Firebase Hooks v4
  const [user, loading, error] = useAuthState(auth);
  // https://github.com/CSFrequency/react-firebase-hooks/tree/v4.0.2/auth#useauthstate

  const [documents, documentsLoading, documentsError] = useDocument(
    doc(db, "documents", user.uid)
  );
  // https://github.com/CSFrequency/react-firebase-hooks/tree/v4.0.2/firestore#usedocument

【问题讨论】:

  • 请提供更多代码。没有人会帮助你,因为他们不知道 useAuthState()useDocument() 的作用相同。

标签: reactjs firebase react-hooks firebase-authentication next.js


【解决方案1】:

我建议您在用户登录后使用 jotai 之类的状态管理库来存储用户 uid。它可能在组件挂载时被读取为未定义,这就是 null 错误的原因。或者,您可以在“.uid”之前添加一个问号,但这可能会导致不同的问题。

【讨论】:

    猜你喜欢
    • 2021-10-20
    • 2021-12-12
    • 1970-01-01
    • 2021-05-10
    • 2020-03-03
    • 2023-03-04
    • 2022-07-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多