首先什么是mobx? mobx是一个数据管理库。咱们使用mobx能够根据业务的具体须要划分多个store,能够把全局状态和组件内部状态结合起来管理。最关键的是mobx上手比较简单。redux
准确来讲,mobx 是一个库 (library),不是一个框架 (framework)。举个例子,若是咱们把redux比喻成 是 cpu + 显示器 + 鼠标 + 键盘等。那么 mobx 就至关于一台完整的笔记本电脑。什么意思呢,最简单粗暴的理解就是,mobx它相对于redux来讲,使用起来更方便,上手更快一些。api
而且mobx采用观察者模式,会自动响应 Store 的变化,无需手动添加判断的代码。框架
另外mobx它可使用多stores,有什么好处呢,好处就是一个 store 只管理一个子 state,咱们能够便根据组件的功能 或者 具体的领域实体来划分多个store 。总而言之,mobx 只作一件事,解决 state 到 view 的数据更新问题。异步
咱们在使用MobX的时候会发现,它有三个主要核心的概念:观测状态,计算值和反应。这三个概念分别对应三个mobx的api:observable,computed和autorun函数
简单来讲mobx
另外咱们为何提倡要尽可能减小使用state呢?方法
总而言之,咱们经过将数据状态和更新操做从组件中抽离单独管理起来,能够更好的分离和解耦数据及控制器和视图。更利于代码维护。并且这样解耦能够很好解决组件间通讯的问题。cpu