mobx 学习笔记

Mobx 笔记

 

Mobx 三板斧,observable、observer、action

  • observable: 通过 observable(state定义组件的状态,包装后的状态是一个可观察数据(Observable Data)。
  • observer: 通过 observer(ReactComponent定义组件。
  • action: 通过 action 来修改状态。

 

 

逻辑简图

 

1、Mobx 知道什么时候应该渲染页面,因此基本不需要手动设置 shouldComponentUpdate 来提高应用性能。

 

2、mobx.observable([1,2])返回一个 observable 类型的参数,可以用isObservable判断

mobx.isObservable(mobx.observable([1,2,3]))    // true 

 

3、(@)computed 计算值:

计算值(computed values)是可以根据现有的状态或其它计算值的衍生值。

computed 和 autorun对比:

相同:它们都是响应式调用的表达式

不同:如果你想响应式的产生一个可以被其它 observer 使用的值,请使用 @computed,如果你不想产生一个新值,而想要达到一个效果,请使用 autorun

computed性能很佳:计算值在大多数情况下可以被 MobX 优化的,如果computed长期不被触发,或者使用它的UI卸载,MobX 会自动地将其垃圾回收(autorun 中的值必须要手动清理),可以使用 observe 或 keepAlive 来强制保持计算值总是处于唤醒状态。

 

 

自我理解:

好基友的携手改变世界,React+mobx的完美结合:

React 提供了优化UI渲染的机制, 这种机制就是通过使用虚拟DOM来减少昂贵的DOM变化的数量。

MobX 提供了优化应用状态与 React 组件同步的机制,这种机制就是使用响应式虚拟依赖状态图表,它只有在真正需要的时候才更新(这就又极大的提高了效率)。

还有特别棒的一点:

React+mobx = 类MVVM ,  可以实现像vue一样的双向数据绑定,这点相当赞,而且效率感人。

转载于:https://www.cnblogs.com/liujinyu/p/9397341.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值