博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
个人对于flux、redux及vuex的理解
阅读量:6394 次
发布时间:2019-06-23

本文共 783 字,大约阅读时间需要 2 分钟。

Flux是一种前端应用架构,它的诞生是。

Flux的核心思想是数据和逻辑永远是单向流动的,由三部分组成:

1、dispatcher 负责分发事件

2、store 负责保存数据,同时相应事件并更新数据

3、view 负责订阅store中的数据,并使用这些数据渲染相应的页面

优点:即在view层,通过dispatcher接受action的数据,然后再命令store进行相应的数据变更同时更新view,整个流程当中,数据始终在单向流动。store里数据的变更只能通过dispatch来修改,强化数据修改的纯洁性

缺点:Flux的冗余代码太多,每个应用中都需要手动创建一个dispatcher的实例,而且在一个应用中含有多个store。

Redux和Vuex都是基于Flux的思想实现的

Redux和Flux的区别

1、Redux中只有一个store,而Flux中有多个store来存储应用数据,并在store里面执行更新逻辑,当store变化的时候再通知controller-view更新自己的数据,Redux是将各个store整合成一个完整的store,并且可以根据这个store来得到完整的state,而且更新的逻辑也不再store中,而是在reducer(采用纯函数)中。

2、Redux没有Dispatcher这个概念。它使用的是reducer来进行事件的处理,reducer是一个纯函数(preState, action) => newState,在Redux应用中,可能有多个reducer,每一reducer来负责维护应用整体state树中某一部分,多个reducer通过combineReducers方法合成一个根reducer,来维护整个state

转载于:https://juejin.im/post/5b740ec3e51d456686725dc6

你可能感兴趣的文章
iOS 指纹识别
查看>>
说说 Vue.js 组件
查看>>
iPhone 用USB连接SSH的时候一直报错
查看>>
关于Vuex的action传入多个参数的问题
查看>>
放弃jQuery, 使用原生js
查看>>
跨越适配&性能那道坎,企鹅电竞Android weex优化
查看>>
一文读懂鼠标滚轮事件(wheelEvent)
查看>>
腾讯云国内节点centos7.2安装k8sv1.12.3
查看>>
Python爬虫--- 1.5 爬虫实践: 获取百度贴吧内容
查看>>
解决Shell脚本$'\r': command not found问题
查看>>
ionic3使用百度地图
查看>>
JavaWEB开发11——JSP
查看>>
轻松搞定javascript中this的指向
查看>>
Image Load Error Handler
查看>>
Vue2.5笔记:Vue中的模版
查看>>
策略路由基础命令(Linux)分享
查看>>
linux下磁盘挂载与查看
查看>>
javascript 闭包
查看>>
如何减少浏览器repaint和reflow(上)
查看>>
Exchange 2010之收件人对象管理
查看>>