mobx的使用注意事项

mobx是采用的发布订阅模式的方式管理程序的状态。即:任何订阅了该状态值的程序,在该状态改变时都将接收到通知,然后做出响应。

参考mobx中文网 https://cn.mobx.js.org

注意:当我们定义一个某场景的专用状态类时,请确保只返回此状态类的唯一一个实例,这样各个组件之间数据才会同步,因为大家都是使用内存中的同一个对象。
例如:export defaul new Store();

  1. 黄金法则: 如果你想创建一个基于当前状态的值时,请使用 computed(新版Mobx中,改成js原生的get方法了,不使用装饰器了)。
  2. 当状态改变时,所有衍生都会进行原子级的自动更新。因此永远不可能观察到中间值。
  3. 所有衍生默认都是同步更新。这意味着例如:动作可以在改变状态之后直接安全地检查计算值。
  4. observable方法或装饰器,默认是递归调用的,即可观察对象的所有层级属性都是可观察的。
  5. 个人感觉:尽量使用observer包裹任何需要状态的组件,不管是子组件还是父组件。这有时会起到pure render的优化效果。
  6. 想要mobx起到监听的效果,我们在使用可观察对象时,不要转存它(不要赋值给其他变量再使用),请直接使用它。
  7. mobx会响应可观察对象自身的可观察属性的变化,而不是值,比如数组的length属性。在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值