Vuejs2 Vue不呈现Vuex突变

Vuejs2 Vue不呈现Vuex突变,vuejs2,vuex,Vuejs2,Vuex,我有一个奇怪的问题,在我使用调试工具进行时间旅行之前,我的变种不会更新视图 正如您在中所看到的,我开始键入,它改变了第一次变异的视图。3秒钟后,第二次突变发生了,尽管视图没有反映这一点。当我点击时间旅行到上一个变异并返回时,它开始正常工作 有人知道为什么会这样吗 谢谢, 杰米虽然不看代码就很难知道原因,但我还是猜一猜 这可能是因为你在变异中更新状态的方式 Vue无法将监视程序设置为对象属性,因此当您执行类似于state.user.isTyping=true的操作时,它不会触发更新。如果您的变异中

我有一个奇怪的问题,在我使用调试工具进行时间旅行之前,我的变种不会更新视图

正如您在中所看到的,我开始键入,它改变了第一次变异的视图。3秒钟后,第二次突变发生了,尽管视图没有反映这一点。当我点击时间旅行到上一个变异并返回时,它开始正常工作

有人知道为什么会这样吗

谢谢,
杰米

虽然不看代码就很难知道原因,但我还是猜一猜

这可能是因为你在变异中更新状态的方式

Vue无法将监视程序设置为对象属性,因此当您执行类似于state.user.isTyping=true的操作时,它不会触发更新。如果您的变异中存在类似的情况,请尝试使用
Vue.$set(state.user,'isTyping',true)


你也可以使用
forceUpdate()
来欺骗它,但这是一个你应该避免的顽皮的黑客行为。

你能提供你的代码吗?我没有提供的原因是因为有很多代码。但是你似乎知道它应该如何工作,你尝试了一些东西,因此,我们能够在您的代码中找到错误,而不是猜测您的错误。@jdickel在下面的答案中添加了剪报,如果您想看一看的话?我更新的方式是这样的:
this.$store.dispatch('messages/sendTyping',data)但是你是如何处理变异内部的更改的呢?就像这样(很抱歉我似乎无法格式化):[types.MESSAGE\u received\u TYPING\u SUCCESS](state,payload){state.messages.find(MESSAGE=>MESSAGE.id==payload.id)。TYPING,payload.TYPING;},如果我使用Vue.$set()它不会做任何事情<代码>\u网页包\u导入的\u模块\u 0\u Vue\uuu.a.$集不是一个函数
@JamieBonnett为什么不共享您的代码?然后我们可以从那里帮助你,这将节省我们猜测发生了什么的时间。