redux与flux及vuex之间的区别

有时候,不是因为你没有能力,也不是因为你缺少勇气,只是因为你付出的努力还太少,所以,成功便不会走向你。而你所需要做的,就是坚定你的梦想,你的目标,你的未来,然后以不达目的誓不罢休的那股劲,去付出你的努力,成功就会慢慢向你靠近。

导读:本篇文章讲解 redux与flux及vuex之间的区别,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

redux与flux及vuex之间的区别:

(1)redux与flux的区别

redux与flux很像,主要区别在于flux有多个可以改变应用状态的store,它通过事件来触发这些变化,组件可以订阅这些时间来和当前状态同步。

redux中没有分发器dispatcher,但在flux中dispatcher被用来传递数据到注册的回调事件,另一个不同的是flux中有很多扩展是可用的,这也带来了一些混乱与矛盾。

在redux中只能定义一个可以更新状态的store,flux中可以定义多个仓库。

redux把store和dispatcher合并,结构更加简单清晰,新增state,对状态管理更加明确。

(2)redux和vuex的区别

vuex呢,改进了redux中的action和reducer函数,以mutation变化函数取代reducer,无需switch,只需在对应的mutation函数里改变state值即可。

由于vue自动重新渲染的特性,无需订阅重新渲染函数,只要生成的state即可。

(3)redux的优点

redux把流程规范了,统一渲染根节点虽然对代码管理上规范了一些,只要有需要显示数据的组件,当相关数据更新时都会自动进行更新,减少手动编码量,提高编码效率,相对于flux能省很多行代码。

(4)redux的缺点

一个组件所需要的数据,当相关数据更新时,组件要重新render,可能会有效率影响,或者需要写复杂的shouldComponentUpdate进行判断。

redux中有三个基本概念,Action,Reducer,Store。

store 仓库     

维持应用的 state;     

提供 getState() 方法获取 state;     

提供 dispatch(action) 方法更新 state;     

通过 subscribe(listener) 注册监听器。

action 中发送过来的对象 必须有一个type属性 reducer 他是一个纯函数  他会跟action发送过来的type类型做逻辑上的处理(使用switch方法进行判断)

Reducer 函数最重要的特征是,它是一个纯函数。也就是说,只要是同样的输入,必定得到同样的输出。

约束: 不得改写参数 不能调用系统 I/O 的API 不能调用Date.now()或者Math.random()等不纯的方法,因为每次会得到不一样的结果。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/149819.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!