错误:`未捕获(承诺中)类型错误:无法读取未定义的属性'doc'`

Posted

技术标签:

【中文标题】错误:`未捕获(承诺中)类型错误:无法读取未定义的属性\'doc\'`【英文标题】:error: `Uncaught (in promise) TypeError: Cannot read property 'doc' of undefined`错误:`未捕获(承诺中)类型错误:无法读取未定义的属性'doc'` 【发布时间】:2021-05-13 01:06:33 【问题描述】:

错误:Uncaught (in promise) TypeError: Cannot read property 'doc' of undefined

 actions: 
        async register( dispatch , form) 

          //sign up user
          const  user  = await fb.auth.createUserWithEmailAndPassword(form.email, form.password)
    
          // create user profile object

          await fb.usersCollection.doc(user.uid).set(
            name: form.name
          )
    
          //fetch user profile
          
          dispatch('fetchUserProfile', user)
    
        ,

请帮助找到问题在哪里可以定义文档?或者哪里出错了?

【问题讨论】:

那是因为fb.usersCollection 未定义。 【参考方案1】:

你需要类似的东西

import  fb, db  from '@/modules/firebase'
...
await db.collection('users').doc(user.uid).set(
        name: form.name
      )

【讨论】:

【参考方案2】:

如果你得到错误

 Cannot read property 'XXX' of undefined

检查点“.XXX”之前的值,例如。

fb.usersCollection.doc
console.log(fb.usersCollection) // undefined

您的fb.usersCollection 具有“未定义”值,因为fb 不包含任何usersCollection。如果你想访问你的 firebase“用户”集合,你必须这样做

fb.collection('users').doc(...);

结帐firebase 文档

【讨论】:

以上是关于错误:`未捕获(承诺中)类型错误:无法读取未定义的属性'doc'`的主要内容,如果未能解决你的问题,请参考以下文章