zoukankan      html  css  js  c++  java
  • Mobx与Redux区别

    Mobx的实现思想和Vue几乎一样,所以其优点跟Vue也差不多:通过监听数据(对象、数组)的属性变化,可以通过直接在数据上更改就能触发UI的渲染,从而做到MVVM、响应式、上手成本低、开发效率高,在数据管理上需要再详细阐述下其区别。

    Redux是建议全局唯一Store的,多个Reducers也会在传递给react-redux之前被合并成一个root reducer,任何数据的更改(通过Reducer)都会通过这一个store来触发整个UI树的重新渲染,如果不做任何的性能优化(pureRender等),就算VD(Virtual Dom)有了再高的效率提升,当页面数据量、DOM数量大了,性能消耗也是非常大的。另外一点,Redux实现的对数据的管理是pull方式的,就是说其只能等待应用派发某个行为(Action),然后重新触发UI的渲染,而做不到对行为的可预期;Mobx则不一样,他是基于监听数据的属性变化来实现的,而且是多store的,对于任何的数据变更都是第一时间知道的,所以其实现方式是基于push的监听订阅模式而实现,这样,他就可以做到对数据的可预测以及细粒度的控制,甚至可以通过修改React组件生命周期的方式来减少性能的消耗,而无需使用者对这些细节关心。当然这一切肯定是有了mobx对组件做observe操作才能实现的,所以也就有了observer用的越多,应用性能越高的说法。

  • 相关阅读:
    iOS-实现键盘右上角完成按钮
    iOS-开发中单例模式的实现
    iOS-实现高斯模糊效果(swift)
    iOS-解决UITableView有footerView时最后一个cell不显示分割线问题
    fenics 笔记 -- Possion Problem
    笔记
    Hyper-reduced projective dynamics 手推公式
    Gmsh 四面体单元剖分
    SoftRoboSim 之程序框架
    物理引擎中的时间积分方法及求解
  • 原文地址:https://www.cnblogs.com/sunshq/p/9518721.html
Copyright © 2011-2022 走看看