Vuex状态未从localStorage获取数据

时间:2020-06-20 16:35:25

标签: vue.js vuejs2 vuex

登录令牌后,我试图将JWT令牌存储在localStorage中,并将用户名提交到状态并保存在localStorage中。 这些都是在vuex模块src/store/auth/index.js

中完成的
  login({ commit }, userData) {
    return new Promise((resolve, reject) => {
      axios.post('http://localhost:5000/login', {
        username: userData.username,
        password: userData.password,
      }).then((response) => {
        localStorage.setItem('token', response.data.token);
        axios.defaults.headers.common.token = response.data.token;
        commit('authUser', response.data);
        resolve(response);
      }).catch((error) => {
        reject(error);
      });
    });
  },

这是我的登录操作,此处的所有操作均按预期进行,并且令牌以“令牌”名称存储在localStorage中。

const state = {
  username: null,
  token: localStorage.getItem('token') || '',
};

这是我的状态,当我刷新页面时,Vue调试器说令牌和用户名均为空。 为什么state.token从localStorage检索令牌项目?

0 个答案:

没有答案