前提・実現したいこと
firebaseとvue.jsを用いてリアルタイムに更新されるメモアプリのようなものを作っています。
firebaseのonSnapshotを使い、change.typeが'added'のときにローカル変数に追加するようにしています。
ただ、ページが読み込まれるときもchange.typeには'added'が入るようです。
そのため、ページ遷移などをするとローカル変数に2重に追加されてしまいます。
ページの読み込みとデータベースの変更を区別できれば解決できると思っているのですが、どうしたら良いでしょうか。
該当のソースコード
javascript
1//vuexを使っています 2 startListener({ commit }) { 3 this.unsubscribe = usersRef.onSnapshot(snapshot => { 4 snapshot.docChanges().forEach(change => { 5 console.log(change.type); 6 7 if (change.type === 'added') { 8 let user = { 9 id: change.doc.id, 10 name: change.doc.data().name, 11 msg: change.doc.data().msg, 12 } 13 commit('create', user) //ローカル変数.push(user)のようなものです 14 }) 15 }) 16 },
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。