내 vuex 저장소에 다음 설정이 있습니다. 사용자가 Firebase 인증으로 로그인합니다. 로그인시 firebase.auth().onAuthStateChanged
이 호출되고 user
은 state.user
으로 설정되지만 Firebase 데이터베이스에도 저장됩니다. 내 코드 (database.ref...
)의 마지막 부분을 추가하는 순간 내 콘솔이 오류로 폭발합니다. 그러나 오류는 Firebase와 관련이 없으며 Vuex와 관련이 있습니다.Vuex 및 Firebase 저장소 상태 오류
오류는 다음 (X80)입니다
내 코드는 여전히 작동하지만, 개발하는 동안, 나는 사용자가 로그인 80 오류를보고 싶지 않아[Vue warn]: Error in callback for watcher "function() { return this._data.$$state }":
Error: [vuex] Do not mutate vuex store state outside mutation handlers.
나는이를 제거하는 방법에 대해 설명합니다. 오류?
// 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
})
}
}
}
트릭을 수행하지 않았습니까? 같은 오류가 여전히 발생합니다. – samiheikki
은 비동기 호출 인'database.ref'입니까? – thanksd
예. 비동기입니다. – samiheikki