mobx实现原理
2018-01-19 18:42:54 8 举报
mobx实现原理
作者其他创作
大纲/内容
@computed
Computed
+ value = null+ getter = null+ target = null+ obID = 0+ hasBindAutoReCompute = false
+ _recompute()+ _bindAutoReCompute()+ get()
DependenceManager
+ _store = {}
@observer
正常的访问可观察属性不会执行依赖收集,只有在computed或autorun中,手动开始依赖收集beginCollect后,再访问该属性时才会收集
可观察属性被计算属性依赖
可观察属性被VIEW依赖obID
autorun函数执行步骤1. 开始收集2. 执行handler(会访问属性,真实的收集依赖)3. 结束收集
计算属性被VIEW依赖cpID
Observable
+ obID = 0+ value = null
+ get(): this.value+ set(v): void+ trigger(): void+ _wrapArrayProxy(): void
@observable
依赖管理器, 负责记录普通可观察属性或计算属性的依赖情况, 属性 对应 watchers数组,当属性被修改时,遍历watchers数组并执行数组项(函数)
包装React组件
混入ComponentWillMount函数,记录render中数据的依赖关系,改变时,forceUpdate
Decorators
0 条评论
下一页