vuex 存储在页面刷新时丢失数据
vuex store losing data on PAGE REGRESH
我正在 laravel 和 vuejs 中构建身份验证系统,我正在使用 JWT 构建并将令牌存储在 lacalstorage 中。我能够将用户数据存储在 vuex 商店中,是的,我可以在 devtool 的 vuex 区域下看到。问题是当我刷新页面时我丢失了它。我想保留用户的信息,它不应该在页面刷新时被删除。我怎样才能做到这一点
import Vue from 'vue'
import Vuex from 'vuex'
import userStore from './components/user/userStore'
Vue.use(Vuex)
const debug = process.env.NODE_ENV !== 'production'
export default new Vuex.Store({
modules : {
userStore
},
strict : debug
})
您可以尝试将您的 Vuex 保存到 localstorage 或 cookie。
有一个插件可以帮助将您的状态保存到本地存储https://github.com/robinvdvleuten/vuex-persistedstate
你可以试试这个插件
https://github.com/championswimmer/vuex-persist
A Typescript-ready Vuex plugin that enables you to save the state of your app to a persisted storage like Cookies or localStorage.
我遇到了完全相同的问题。我是这样解决的:
state: {
authenticated: localStorage.getItem('yourToken')
}
现在您可以在 actions: {}
或其他任何地方将 this.authenticated
设置为 true 或 false。
意思是你必须默认将你的 localStrage
存储到你的 autenticated
。
如果您无法理解,请告诉我,我可以为您提供更多我的案例示例。也许你会这样想的。
编辑:
使用sessionStorage
存储。
我正在 laravel 和 vuejs 中构建身份验证系统,我正在使用 JWT 构建并将令牌存储在 lacalstorage 中。我能够将用户数据存储在 vuex 商店中,是的,我可以在 devtool 的 vuex 区域下看到。问题是当我刷新页面时我丢失了它。我想保留用户的信息,它不应该在页面刷新时被删除。我怎样才能做到这一点
import Vue from 'vue'
import Vuex from 'vuex'
import userStore from './components/user/userStore'
Vue.use(Vuex)
const debug = process.env.NODE_ENV !== 'production'
export default new Vuex.Store({
modules : {
userStore
},
strict : debug
})
您可以尝试将您的 Vuex 保存到 localstorage 或 cookie。
有一个插件可以帮助将您的状态保存到本地存储https://github.com/robinvdvleuten/vuex-persistedstate
你可以试试这个插件
https://github.com/championswimmer/vuex-persist
A Typescript-ready Vuex plugin that enables you to save the state of your app to a persisted storage like Cookies or localStorage.
我遇到了完全相同的问题。我是这样解决的:
state: {
authenticated: localStorage.getItem('yourToken')
}
现在您可以在 actions: {}
或其他任何地方将 this.authenticated
设置为 true 或 false。
意思是你必须默认将你的 localStrage
存储到你的 autenticated
。
如果您无法理解,请告诉我,我可以为您提供更多我的案例示例。也许你会这样想的。
编辑:
使用sessionStorage
存储。