为什么我们需要 redux && vues

最近准备将一个之前做的项目用VUE进行重构,那就给自己挖个坑,这个项目之前使用react进行开发的,基于react0.14进行开发的,算是用的比较老的react版本了,使用gulp进行打包,这是一个微信商城的项目,在开发中没有使用redux,当初写的很通过,项目中很多地方是用的事件监听和全局变量来实现状态的共享和状态的共享,写完很痛苦,终身难忘。

  • 多个视图依赖于同一状态。

  • 来自不同视图的行为需要变更同一状态。

这个是vuex官方文档在开始的时候就描述的vuex的使用场景,我开发中遇到的问题被上面2句话完美的描述。

一开始学习react的时候,在阅读官方文档或是技术博客的时候,都重点的提到了单向数据流,在做商城项目之前,我还做过一个项目,是一个展示类型的项目,主要的任务是数据的展示,所以在开发的过程中没有发现这些问题,在开发商城项目时发现,更多的时候我们会设计到一些页面间传值,页面间通信的问题,在面对这些问题的时候,redux && vuex个人觉得是必须的。

从两者的流程图可以看出,两者有很多相似的地方:

action = store mutations = reducers

他们都有一个用于调和数据的方法。

store 概念与全局变量的不同:

  • Vuex 的状态存储是响应式的。当 Vue 组件从 store 中读取状态的时候,若 store 中的状态发生变化,那么相应的组件也会相应地得到高效更新。

  • 你不能直接改变 store 中的状态。改变 store 中的状态的唯一途径就是显式地提交(commit) mutations。这样使得我们可以方便地跟踪每一个状态的变化,从而让我们能够实现一些工具帮助我们更好地了解我们的应用。

最后更新于