Ich habe die folgende Konfiguration in meinem vuex-Speicher: Meine Benutzer melden sich mit Firebase-Authentifizierung an. Nach der Anmeldung wird firebase.auth().onAuthStateChanged
aufgerufen und user
wird auf state.user
festgelegt, aber auch in der Firebase-Datenbank gespeichert. In dem Moment, in dem ich den letzten Teil meines Codes (database.ref...
) hinzufüge, explodiert meine Konsole mit Fehlern. Die Fehler beziehen sich jedoch nicht auf Firebase, sondern auf Vuex.Vuex- und Firebase-Speicherstatusfehler
Fehler sind die folgenden (x80):
[Vue warn]: Error in callback for watcher "function() { return this._data.$$state }":
Error: [vuex] Do not mutate vuex store state outside mutation handlers.
noch Mein Code funktioniert, aber während der Entwicklung, ich will nicht 80 Fehler, wenn der Benutzer sich anmeldet, um zu sehen Wie kann ich diese loswerden. Fehler?
// 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
})
}
}
}
hat den Trick nicht. Dieselben Fehler sind immer noch aufgetreten. – samiheikki
ist 'database.ref' ein Async-Aufruf? – thanksd
Ja, es ist async – samiheikki