注销时取消订阅Firestore侦听器

问题描述 投票:0回答:1

执行此操作的直接方法已说明here

但是我很难触发另一个vuex模块中的onAuthStateChanged中的取消订阅

store / user.js

...
  onAuthStateChanged({ commit, dispatch }, { authUser }) {
    if (!authUser) {
      commit('RESET_STORE')
      this.$router.push('/')
      return
    }
    commit('SET_AUTH_USER', { authUser })
    dispatch('database/getUserItems', null, { root: true })
    this.$router.push('/home')
  }
...

store / database.js

...
getUserItems({ state, commit }, payload) {
    const unsubscribe = this.$fireStore
      .collection('useritems')
      .where('owner', '==', this.state.user.authUser.uid)
      .onSnapshot(
        (querySnapshot) => {
          querySnapshot.forEach(function(doc) {
          // STUFF
        },
        (error) => {
          console.log(error)
        }
      )
  },
...

当用户注销(authUser未定义)时,如何从user.js模块中引用unsubscribe()

firebase vue.js vuex nuxt.js
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.