Vue.js 突变不';t在状态下设置值

Vue.js 突变不';t在状态下设置值,vue.js,vuex,mutation,Vue.js,Vuex,Mutation,我使用设置值,但它不会更新状态对象中的值。它在对象中创建新变量。 js: const mutations = { setUser(state, user) { state.user = user; // eslint-disable-line no-param-reassign }, setToken(state, token) { state.token = token; // eslint-disable-line no-param-reassign },

我使用设置值,但它不会更新状态对象中的值。它在
对象中创建新变量。

js:

const mutations = {
  setUser(state, user) {
    state.user = user; // eslint-disable-line no-param-reassign
  },
  setToken(state, token) {
    state.token = token; // eslint-disable-line no-param-reassign
  },
  setAuthenticated(state, authenticated) {
    state.authenticated = authenticated; // eslint-disable-line
  },
};


export default {
  mutations,
};
state.js:

const state = {
  callingAPI: false,
  activeSidebar: true,
  searching: '',
  authenticated: null,
  user: null,
  token: null,
  userInfo: {
    messages: [],
    notifications: [],
    tasks: [],
  },
};

const getters = {
  isAuthenticated: (state) => { // eslint-disable-line
    return state.authenticated;
  },
  isActiveSidebar: (state) => { // eslint-disable-line
    return state.activeSidebar;
  },
};

export default {
  state,
  getters,
};
store.js:

import Vue from 'vue';
import Vuex from 'vuex';
import state from './state';
import mutations from './mutations';

Vue.use(Vuex);

export default new Vuex.Store({
  modules: {
    state,
    mutations,
  },
});
我使用
commit
函数更新一个值。e、 g.:
this.store.commit('setAuthenticated',true)


它不是应该更新
状态
对象中的空值,而不是在
对象中创建新变量吗?

您似乎误用了模块。我想你并不是真的想用它们。您的
状态
导入也存在意外的属性嵌套

store.js

import Vue from 'vue';
import Vuex from 'vuex';
import {state,getters} from './state';
import mutations from './mutations';

Vue.use(Vuex);

export default new Vuex.Store({
    state,
    getters,
    mutations,
});

谢谢你的回答。您的回答引导我如何在
Vuex.Store()
中定义这些内容,只需再做一些更改。
import Vue from 'vue';
import Vuex from 'vuex';
import {state,getters} from './state';
import mutations from './mutations';

Vue.use(Vuex);

export default new Vuex.Store({
    state,
    getters,
    mutations,
});