// nuxt vuex module
export const state = () => ({
test : '',
});
// state should be a method that returns an object in store/index.js
export const state = {
test : '',
};
// pure vue or classic mode
const store = new Vuex.Store({
state: {
count: 0
},
})
在模块模式下使用vuex时,为什么需要在nuxt中将状态返回给函数?
我不知道为什么。
对于突变和动作,如果您立即分配一个对象,分配状态也是正常的吗?
答案 0 :(得分:0)
很好的问题,我也不确定。我唯一能找到的是this comment。显然是要解决并发问题,这是Vue在浏览器中不会遇到的问题。
例如,关于为存储文件中的状态返回一个函数,实际上是Evan将其实现到Nuxt.js中,以避免两个并发请求之间具有相同的状态
修改
跟在兔子洞后面再多一点,更广泛的情况是需要遵循以下服务器渲染规则:"Avoid Stateful Singletons"
事物的节点端需要一种获取初始状态的新副本的方法,这只能通过函数来实现,因为状态对象可能已经被其他请求所突变。