我想让状态不同的用户在不同设备上获得授权,与站点进行交互,以便在所有设备上同步更改。
Back-Ender要求通过 Web套接字 +如何从服务器(!)更改状态来实现该机制。 他说,在 react-redux 中,他用 type 和一些 payload 调用动作。 但是vuex具有两个实体:变异和动作,这增加了复杂性!特别是当store由模块命名空间时。 我将不胜感激。
答案 0 :(得分:0)
vuex不可能自动为您执行此操作。
使用websocket无疑会帮助您开发此功能。为此,您应该将websocket绑定到vuex存储实例,并在收到新数据后,将这些新数据提交到vuex。
您要实现的是一种实时数据库。 Firebase可能会帮助您实施此操作,因为它会为您执行步骤1至4。
您应该在firebase中执行的操作如下:
保存数据
firebase.database().ref('/some/path').push({a:1, b:2})
在保存更改后在客户端接收此更改
firebase.database().ref('/some/path').on('child_added', (snapshot) => {
const newData = snapshot.val()
//newData will be {a: 1, b: 2}
//here you would commit this data in to your store
//this callback will be called always when a
//object is pushed to '/some/path', so you only have to setup this once
})