vuex的getters里面可以修改state?

在store.state里面有一个数组list,我在getters里面创建了一个getList,然后将这个getList做一个mapGetters到一个子组件,在这个子组件里面对这个getList数组做了forEach,并在其中修改了item的值。我发现,似乎,所有组件的list都得到了同步刷新。

按我以前的理解,getters不能修改原始数组,mutation才可以,但现在getter也可以了?
或者getter/mutation这个能否修改原始数据其实只是编程风格的要求,并没有做实际限制?其实想改都能改的?

阅读 8.3k
4 个回答

怀疑是没开严格模式,所以能直接靠引用修改

我把他理解成computed属性了

第一反应,不是getters的原因,是对象修改的原因,你先拷贝后再进行修改应该就不会这样了;

不应该 getter 的愿意就是对raw数据 进行处理 返回新的数据

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题