码迷,mamicode.com
首页 > 其他好文 > 详细

flux架构的详细介绍和使用!

时间:2019-08-12 01:10:01      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:操作   listener   view   传递   scribe   events   cti   方法   逻辑   

结构分为四个


视图 view
动作 action
派发器 dispatcher
数据商店 store

流程:
用户操作视图 视图(view)发送动作(action)到派发器(dispatcher)
由派发器(dispatcher) 对动作类型(action.type)做判断
然后调用数据商店(store)的相应方法来操作数据模型(store.state)
最后由数据商店(store)通知视图(view)进行更新

在完整的案例中
action只是起到传递数据的作用 本质就是一个对象而已

action最好用专门的工厂函数来进行创建(actions)

在视图中 通过调用action工厂函数来生产aciton 再由工厂函数将action发送给派发器

同时 在开发时 应将视图部分进行拆分
拆分成 : 容器组件和UI组件
UI组件纯粹负责显示数据
容器组件负责处理业务逻辑

由容器组件提供更新视图的方法
然后在组件加载完成时 将更新视图方法提供给store

store应将其绑定到更新视图专用的事件上

例如:
let EventEmiiter = require("events").EventEmiiter

let store = {
...EventEmiiter.prototype,
subscribe(cb){
this.on("update",cb)
},
setUsername(name){
this.state.name = name

this.emit("update") //通知视图进行更新
},
unSubscribe(cb){ //注意: 在组件的卸载期 记得将更新视图函数进行解绑
this.removeListener("update",cb)
}
}

flux架构的详细介绍和使用!

标签:操作   listener   view   传递   scribe   events   cti   方法   逻辑   

原文地址:https://www.cnblogs.com/lishixiang-007/p/11337455.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!