来自 VueX 和 NuxtJS 的持久化状态

pir*_*max 4 vuex adonis.js nuxt.js

我使用 vuex-persistedstate 包(https://github.com/robinvdvleuten/vuex-persistedstate)在浏览器上持久化数据状态。

我使用 Adonuxt(NuxtJS 和 AdonisJS 之间的混合)。

在 VueX 动作中,我有这个动作:

nuxtClientInit ({commit}) {
      // I want get here state auth saved by persistedstate package
    }
Run Code Online (Sandbox Code Playgroud)

此操作由插件调用:

本地存储.js

export default async (context) => {
  await context.store.dispatch('nuxtClientInit', context)
}
Run Code Online (Sandbox Code Playgroud)

nuxt.js 插件(配置)

{
      src: '~/plugins/localstorage.js',
      ssr: false
    }
Run Code Online (Sandbox Code Playgroud)

我想要获取状态来使用用户令牌配置 Axios:

this.$axios.setToken(auth.jwt.token, 'Bearer')
Run Code Online (Sandbox Code Playgroud)

我的印象是 nuxtClientInit() 在 persistedstate 包之前被调用,所以state.auth为 null 但它可以在控制台中观察到:

图片

pir*_*max 5

我使用https://www.npmjs.com/package/vuex-persist来持久化来自 Vuex 的数据。