官方定义:vuex是专门为 vue.js应用程序开发的状态管理模式.它采取集中式存储管理应用所以组件状态,并以相应的规则保证状态以一种可预期的方式发生变化
- vuex是 Vue 专门的状态管理库.它以全局的方式集中管理应用的状态,并且保证状态的变更是一种可预测性
- vuex 主要是解决多组件之间状态共享的问题,利用各种组件的通讯方式,我们可以做到状态共享,但是往往需要保证各个组件之间保持状态的唯一性,这其实是很困难的,也会是我们逻辑变的很复杂.vuex 通过把组件的共享状态抽取出来,以全局单例模式管理.这样任何组件都能通过一致性的方式获取和修改组件.响应式的数据也能保证简洁的单向数据流动.我们代码将变得更加结构化且易维护
- vuex 并非必须的,它帮助我们管理状态,但是带来更多的状态和框架.如果我们不打算开发大型的单页面应用或者我们的应用并没有大量的状态需要管理,完全没有使用 vuex 的必要,一个简单的 store 模式足够看,反之选择使用 vuex
- 使用 vuex 过程如下理解:将全局状态放入到 state 对象中,他本身是一颗状态树,组件中使用 store 实例的 state 访问这些状态,然后配套的 mutain 方法修改这些状态,并且只能用 mutation修改 state 的状态.在组件中调用 commit方法提交 mutation,如果应用存在异步操作或者复杂的操作,我们需要编写 action,执行结果如果有状态的变化任然可以提交 mutation,在组件中通过 dispatch 方法派发.最后模块化,通过 mudule 选项组织拆分各个子模块,访问状态时注意添加子模块的名称,如果有 namespace,在提交 mutation和 action 的时候需要添加额外的空间前缀
网友评论