Vue.js Vuex-共享服务器端状态?

Vue.js Vuex-共享服务器端状态?,vue.js,vuejs2,vuex,Vue.js,Vuejs2,Vuex,我正在修改并添加了通知组件(如果获取外部数据出错:在用户读取通知并单击X后,将其从vuex状态中删除,然后在vuex中保存错误通知)。看起来像这样: [NOTIFY] (state, message) { state.data.push(message) }, [READ_NOTIFICATION] (state, index) { state.data.splice(index, 1) } 问题:当在服务器上提取数据并设置状态时,它会将错误永远保持在全局状态,这意味着如果我

我正在修改并添加了通知组件(如果获取外部数据出错:在用户读取通知并单击X后,将其从vuex状态中删除,然后在vuex中保存错误通知)。看起来像这样:

[NOTIFY] (state, message) {    
state.data.push(message)    
},

[READ_NOTIFICATION] (state, index) {
state.data.splice(index, 1)
}
问题:当在服务器上提取数据并设置状态时,它会将错误永远保持在全局状态,这意味着如果我打开新浏览器,我将从上一个会话中获得相同的旧错误


服务器端vuex状态不应该在每次请求时重置吗?我遗漏了什么?

我不明白你所说的“服务器端状态”是什么意思。Vuex是一个客户端存储。您将状态保存到服务器的内容和原因

而且,我不能告诉你你在用代码做什么?这在store.js文件中吗?在这个物体里

您需要将其包装在vue方法中,如下所示:

在Vue文件中:

methods: {
  clicksButton (idx) {
    this.$store.commit('read_notification', idx)
  }
}
在store.js文件中:

const store = new Vuex.Store({
  state: {
    data: [],
    error: null
  },
  mutations: {
    read_notification (state, idx) {
      state.data.splice(idx, 1)
    }
  }
}

*移动到应答格式设置*如果您遵循该示例,则app.js中的const store=createStore()会为每个请求创建一个新的存储。在何处/如何加载该存储?Vuex不仅用于客户端,如果使用服务器端渲染,它将在服务器上初始化并传递给客户端。