为什么状态只能从 Vuex、Vuejs 应用程序中的突变中更改?



我想知道,如果我从其他地方更改状态会发生什么,比如直接从组件或从getter函数更改状态?

基本上你可以这样做,可能所有订阅者都会收到通知,不会发生任何不好的事情,但问题是,当你使用 Vuex 时,你同意遵循那里提出的一些设计模式。没有什么能阻止你实现你的简单存储(只有状态和操作(,它将与 vuejs 共享状态并使用它的反应性。它会起作用 - 问题是 Vuex 是 - 正如我所说 - 一种模式,向您展示跟踪更改和调试应用程序的最佳方式。将来,您的应用程序的状态可能会增长,我确信您想知道引擎盖下到底发生了什么 - 因此您的突变具有简单的任务:更新状态并帮助跟踪确切的变化。

使用 https://github.com/vuejs/vue-devtools,您可以轻松查看幕后正在进行的交易,这将有助于其他人(或将来的您(了解国家的情况。此外,通过突变,您正在编写某种可能性,您的状态以及如何更改。将其视为访问数据的 API - 没有随机或不可跟踪的更改。

最新更新