Vuex-persistedstate не работает после обновления страницы

Vuex-persistedstate не работает после обновления страницы

18.10.2019 07:16:07 Просмотров 61 Источник

Я делаю спа-приложение с 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,
}
У вопроса есть решение - Посмотреть?

https://stackoverflow.com/questions/58454665/vuex-persistedstate-does-not-work-after-refreshing-a-page#comment103827727_58454665
Вот что я имею в виду. Вы задаете вопросы, но не заботитесь об ответах.
https://stackoverflow.com/questions/58454665/vuex-persistedstate-does-not-work-after-refreshing-a-page#comment103829253_58454665
О, Извините, я просто не заметил вашего ответа. Меня почему-то не уведомили. Я всегда отвечаю на ответы. Спасибо за ваш ответ. Я думал об этом целую вечность.
https://stackoverflow.com/questions/58454665/vuex-persistedstate-does-not-work-after-refreshing-a-page#comment103829491_58454665
ха-ха, хорошо, я вижу это сейчас. Спасибо за ваше внимание

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

Arthurin915

18.10.2019 08:12:09

Я думаю, вам нужно настроить объект option с модулями, которые вы хотите сохранить. В этом примере я сохраняю пользовательский модуль из своего магазина (не включил код импорта)

const persistedStateOptions = {
  paths: [
    'user',
  ]
}

export default new Vuex.Store({
  modules: {
    user,
  },
  plugins: [createPersistedState(persistedStateOptions)]
})
https://stackoverflow.com/questions/58454665/vuex-persistedstate-does-not-work-after-refreshing-a-page/58455406#comment103256754_58455406
Попробовал, но ничего не вышло. кажется, проблема не в путях..
Является ответом!
nmfzone

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()]
})
Закрыть X