Javascript 当我将一组对象提交到Vuex存储时,这些对象会丢失其一个属性

Javascript 当我将一组对象提交到Vuex存储时,这些对象会丢失其一个属性,javascript,vue.js,vuex,Javascript,Vue.js,Vuex,我有一个Vuex操作,它向后端发出GET请求,并获取用户的所有服务器作为响应: async getUserServers({commit, state, dispatch}, userId){ try { let response = await axios.get("/servers/" + userId) let servers = response.data.servers

我有一个Vuex操作,它向后端发出GET请求,并获取用户的所有服务器作为响应:

    async getUserServers({commit, state, dispatch}, userId){
        try {
            let response = await axios.get("/servers/" + userId)
            let servers = response.data.servers
            console.log(servers)
        } catch (error) {
            console.log(error)
        }
    }
使用原样的代码,我可以
console.log(servers)
并将属性导航到
servers[0].rooms[0].messages[0].user
并访问包含以下内容的用户属性:

{
  "id": 1,
  "username": "Test",
  "email": "test@abv.bg",
  "image": "test.png",
  "createdAt": "2020-08-12T21:09:58.000Z",
  "updatedAt": "2020-08-12T21:09:58.000Z"
}
当我尝试将服务器提交到Vuex应用商店时,问题就出现了。当我这样做时:

    async getUserServers({commit, state, dispatch}, userId){
        try {
            let response = await axios.get("/servers/" + userId)
            let servers = response.data.servers
            console.log(servers)
            commit('setServers', servers)
        } catch (error) {
            console.log(error)
        }
    }
执行此变异:

    setServers(state, servers){
        state.servers = servers
    }

现在,当我通过Vue.js开发者工具检查我的Vuex状态时,我可以看到
servers[0].rooms[0].messages[0]
user
属性不存在,我不知道它为什么会消失。对象的每个属性都很好,除了这个属性。

@Bobumaru is
messages
字段用空数组/字符串初始化,或者未定义?@KrzysztofKaczyński messages已定义,它是一个消息对象数组。问题是messages对象缺少user属性,该属性包含发布消息者的user对象。您可以在Codesandbox中共享复制品吗?@tony19是正确的,如果您需要帮助提供更多信息please@tony19然而,我使用Codesandbox创建了e复制,在那里,我没有遇到更让我困惑的问题。所以发送复制品是没有意义的,因为它没有显示我遇到的问题,但同时问题仍然存在于我的实际项目中。我猜我的项目中有什么事情发生了,但我甚至不知道从哪里开始。