нужна помощь.
В проект добавлено vuex-persistedstate, и мне кажется, что он не позволяет мне вызывать мои действия в магазине. Когда я запускаю диспетчер, пытающийся выйти из системы, страница перезагружается, localStorage сохраняет ту же информацию, что и при входе в систему, и вся панель Vuex для инструментов VueDev сбрасывается.
Это мой код.
store.js
import Vue from 'vue'
import Vuex from 'vuex'
import createPersistedState from 'vuex-persistedstate'
Vue.use(Vuex)
export default new Vuex.Store({
strict: true,
plugins: [
createPersistedState()
],
state: {
token: null,
user: null
},
mutations: {
setToken (state, token) {
console.log('mutation1')
state.token = token
},
setUser (state, userData) {
console.log('mutation2')
state.user = userData.username
state.cargo = userData.cargo
}
},
actions: {
setToken ({commit}, token) {
console.log('action1')
commit('setToken', token)
},
setUser ({commit}, userData) {
console.log('action1')
commit('setUser', userData)
}
}
})
Метод входа в компонент входа
async login () {
try {
const response = await AuthenticationService.ingresar({
username: this.username,
password: this.password
})
const { username, cargo, token } = response.data
this.$store.dispatch('setToken', token)
this.$store.dispatch('setUser', { username, cargo })
} catch (error) {
this.error = error.response.data.error
}
}
Метод LogOut для компонента navbar
logout () {
this.$store.dispatch('setToken', null)
this.$store.dispatch('setUser', null)
this.$router.push('/')
}
Все работает, если я отключаю vuex-persistedstate.