【前言】
最近在学react全家桶,想和之前学的vue全家桶做一个对比,这篇文章先对vuex和redux做一个对比,之后会对各个方面都做一些对比,已达到全面比较2个框架优缺点的目的。
【正文】
先上图:
无标题.png
相同点:
1.都是通过store来作为全局状态存储对象
- 改变store的直接方法(vuex中的mutation和redux中的reducer)只允许同步操作。
不同点
- vuex只有展示组件(通过全局根部植入直接访问store),而redux中展示组件通过容器组件连接store再进行访问。
另外vuex自带module化功能,而redux是没有的。 - vuex中消除了action的概念
- vuex只能配合vue而redux可以配合任何框架
- vuex中的异步操作只能在action中进行,而redux中没有特别的为异步操作创建一个方法。
【其他一些补充】
vuex中改变store的唯一方法就是通过mutation,异步方法通过action最后也是通过mutation来改变store。这里说下为什么vuex要用action,个人理解是因为所有异步函数是不能追踪的,由于vuex需要通过mutation记录每次store的变化,因此mutation中不允许有异步操作就像redux中的reducer中的操作必须也是同步的一样。
【完】
(欢迎大家留言补充)
网友评论