JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了javascript – Vuex和Firebase存储状态错误大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我在vuex商店中进行了以下设置:我的用户使用Firebase身份验证登录.登录后,将调用firebase.auth().onAuthStateChanged,并将用户设置为state.user,但也会保存在Firebase数据库中.当我添加代码的最后一部分(database.ref …)时,我的控制台会出现错误.但是,错误与Firebase无关,而与Vuex无关.

错误如下(x80):

我的代码仍然有效,但在开发过程中,我不希望在用户登录时看到80个错误.我怎样才能摆脱这些错误?

// actions
const actions = {
  startListeningToAuth ({ commit }) {
    firebase.auth().onAuthStateChanged((user) => {
      commit(types.SET_USER,{ user })
    })
  }
}

// mutations
const mutations = {
  [types.SET_USER] (state,{ user }) {
    state.user = user

    if (user) {
      database.ref('users/' + user.uid).set({
        name: user.displayName,email: user.email,photo_url: user.photoURL
      })
    }
  }
}
最佳答案
您可以使用toJSON()方法到firebase.User接口

commit(types.SET_USER,{ user.toJSON() })

这将允许在没有警告的情况下将用户数据添加到您的商店,但我猜您可以从firebase中丢失实时用户状态.

https://firebase.google.com/docs/reference/js/firebase.User#toJSON

大佬总结

以上是大佬教程为你收集整理的javascript – Vuex和Firebase存储状态错误全部内容,希望文章能够帮你解决javascript – Vuex和Firebase存储状态错误所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。