Vuex-persistedstate не работает после обновления страницы
Я делаю спа-приложение с laravel и vue, и я хотел бы сохранить свою регистрационную информацию в состоянии vuex после обновления страницы.
Я набрал номер
sudo npm install vuex-persistedstate
и установил Vuex-persistedstate и установил плагины, как показано ниже.
import Vue from 'vue' import Vuex from 'vuex'
import auth from './auth'
import createPersistedState from 'vuex-persistedstate'
Vue.use(Vuex)
const store = new Vuex.Store({
modules: {
auth,
plugins: [createPersistedState()],
}
})
export default store
Я ожидал, что мои данные будут сохранены после обновления страницы, но это было не так.
Я проверил, что происходит, и кажется, что объект плагина был пуст.
кажется, что я не могу импортировать плагины по какой-то причине, но я не знаю, почему. Кто-нибудь может мне помочь, пожалуйста?
мой файл модуля
const state = {
user: null,
salonId: null
}
const getters = {
check: state => !! state.user,
checkSalonId: state => {return state.salonId},
}
const mutations = {
setUser (state, user) {
state.user = user
},
setSalonId (state, salonId) {
state.salonId = salonId
}
}
const actions = {
async currentUser (context) {
const response = await axios.get('/api/user')
const user = response.data || null
context.commit('setUser', user)
},
async logout (context) {
context.commit('setUser', null)
context.commit('setSalonId', null)
},
async currentSalon (context, salonId) {
context.commit('setSalonId', salonId)
}
}
export default {
namespaced: true,
state,
getters,
mutations,
actions,
}



Ответы - Vuex-persistedstate не работает после обновления страницы / Vuex-persistedstate does not work after refreshing a page

18.10.2019 08:12:09
Я думаю, вам нужно настроить объект option с модулями, которые вы хотите сохранить. В этом примере я сохраняю пользовательский модуль из своего магазина (не включил код импорта)
const persistedStateOptions = {
paths: [
'user',
]
}
export default new Vuex.Store({
modules: {
user,
},
plugins: [createPersistedState(persistedStateOptions)]
})


20.10.2019 09:56:15
Вы разместили plugins
в неправильном месте. plugins
должны быть встроены в modules
, а не внутри modules
.
Пожалуйста, взгляните на эти различия.
const store = new Vuex.Store({
modules: {
auth,
plugins: [createPersistedState()]
}
})
ПРОТИВ
const store = new Vuex.Store({
modules: {
auth
},
plugins: [createPersistedState()]
})