挂载钩子中的错误:“错误:AuthUI 实例已存在

Posted

技术标签:

【中文标题】挂载钩子中的错误:“错误:AuthUI 实例已存在【英文标题】:Error in mounted hook: "Error: An AuthUI instance already exists 【发布时间】:2018-05-15 07:29:34 【问题描述】:

我使用 Vuejs 构建了一个单页应用程序,并使用 Firebase 进行身份验证。到目前为止,我已经登录并注册工作,没有任何问题。我现在遇到的问题是社交身份验证

当我加载注册页面时,社交按钮会呈现,但是当我离开并返回注册时,我收到以下错误:

挂载钩子错误:“错误:AuthUI 实例已存在

社交按钮不再呈现。

这是我的代码:

mounted () 
  SocialAuth () 
    const uiConfig = 
      signInSuccessUrl: '/',
      signInOptions: [
        firebase.auth.GoogleAuthProvider.PROVIDER_ID,
        firebase.auth.FacebookAuthProvider.PROVIDER_ID,
        firebase.auth.TwitterAuthProvider.PROVIDER_ID
      ]
    

    const ui = new firebaseui.auth.AuthUI(firebase.auth())
    ui.start('#firebaseui-auth-container', uiConfig)
  

非常感谢任何帮助和所有帮助:)

【问题讨论】:

【参考方案1】:

您是否尝试过使用firebaseui.auth.AuthUI.getInstance() 喜欢:

mounted () 
  SocialAuth () 
    const uiConfig = 
      signInSuccessUrl: '/',
      signInOptions: [
        firebase.auth.GoogleAuthProvider.PROVIDER_ID,
        firebase.auth.FacebookAuthProvider.PROVIDER_ID,
        firebase.auth.TwitterAuthProvider.PROVIDER_ID
      ]
    

    if(firebaseui.auth.AuthUI.getInstance()) 
      const ui = firebaseui.auth.AuthUI.getInstance()
      ui.start('#firebaseui-auth-container', uiConfig)
     else 
      const ui = new firebaseui.auth.AuthUI(firebase.auth())
      ui.start('#firebaseui-auth-container', uiConfig)
    
  

【讨论】:

太棒了!非常感谢,这似乎奏效了:)

以上是关于挂载钩子中的错误:“错误:AuthUI 实例已存在的主要内容,如果未能解决你的问题,请参考以下文章

挂载钩子中的错误:“TypeError:没有'new'就不能调用类构造函数节点”

挂载钩子中的错误:“TypeError:无法读取未定义的属性 'allStage'”

测试组件 - 挂载钩子中的错误:“TypeError:无法读取未定义的属性 'dispatch'”

挂载钩子中的错误:“错误:FullCalendar 视图“dayGridMonth”不存在。确保您的插件正确加载。”

app.js:81010 [Vue 警告]:挂载钩子错误:“ReferenceError: $store 未定义”

react中的生命周期钩子函数