【发布时间】:2020-02-08 21:24:52
【问题描述】:
我正在使用 Vuex,我对它很陌生。我想将数据提交到商店并用有效负载的内容替换替换状态。
我的商店是使用模块构建的,有问题的模块是用户模块,
目前我正在做一些类似于我的突变的事情,
setUser(state, payload) {
state.user = {...payload.user}
}
这使我的状态在运行提交后看起来像这样
user: {
user: {
nickname: 'Bob',
host: true,
emoji: 'Smile',
passcode: 12345678,
room_id: 123
}
}
理想情况下,我不想在用户对象中包含用户对象,我要么希望用户的每个属性都成为状态的一部分,例如,
state : {
nickname: 'Bob',
host: true,
emoji: 'Smile',
passcode: 12345678,
room_id: 123
}
或者它可能看起来像这样,
state : {
user: {
nickname: 'Bob',
host: true,
emoji: 'Smile',
passcode: 12345678,
room_id: 123
}
}
我不明白我为什么收到state.user.user?
这是我所在州的用户模块,
export default {
state: {
user: {}
},
mutations: {
setUser(state, payload) {
state.user = {...payload.user}
}
},
actions: {
},
getters: {
}
};
我也用state:{}尝试了上述方法
【问题讨论】:
-
你能告诉我
console.log(payload)在setUser(state, payload)方法中的输出吗
标签: javascript vue.js vuex store