如何访问 NuxtJs 存储中的 localStorage?

Roj*_*Roj 3 javascript vue.js vuex nuxt.js

我试图从 localStorage 获取一个值来确定存储中变量的值。我记得大约一年前尝试过使用 vuejs 进行类似的操作,它似乎有效。我在 Reactjs 上也没有遇到任何问题。但由于某种原因,我在 Nuxt 中执行相同操作时不断收到此错误

在此输入图像描述

在此输入图像描述

这是我的user.js文件

export const state = () => ({
  isLoggedIn: !!localStorage.getItem('userDetails')
})

export const mutations = {
  login(state) {
    state.isLoggedIn = true;
  },
  logout(state) {
    window.localStorage.clear()
    state.isLoggedIn = false;
  }
}
Run Code Online (Sandbox Code Playgroud)

我处理这个问题的方法错了吗?或者这不应该起作用?任何帮助表示赞赏。

Raf*_*ffo 6

当您使用 SSR 时,您无权访问浏览器存储。

要解决此问题,您可以在已安装的组件挂钩上分派一个操作。

mounted() {

 if(!process.client) return;
 const savedData = localStorage.getItem("userDetails");
 if(savedData){
    this.$store.commit('myMutation',savedData)
}
}
Run Code Online (Sandbox Code Playgroud)