一、Mobx机制介绍:
Mobx 是简单、可扩展的状态管理,当应用状态更新时,任何源自应用状态的东西都将自动地获得。React 和 MobX 是一对强力组合。React 通过提供机制把应用状态转换为可渲染组件树并对其进行渲染。而 MobX 提供机制来存储和更新应用状态供 React 使用。
Mobx 中文文档
Mobx 英文文档
Mobx 的运行机制如下图:
首先从左往右看,事件触发了 Actions,Actions 作为唯一修改 State 的方式,修改了 State,State 的修改更新了计算值 Computed,计算值的改变引起了 Reactions 的改变,导致了 UI 的改变,Reactions 可以经过事件调用 Actions。
二、开发环境
安装 mobx 和 React 绑定库 mobx-react:
npm install mobx mobx-react --save
要启用 ESNext 的装饰器 (可选), 参见下面:
安装修饰符修饰器插件
// 修饰符的插件 npm install --save-dev babel-plugin-transform-decorators-legacy // 装饰器的一个插件 npm install @babel/plugin-proposal-decorators
配置babelrc文件,在根目录创建一个.babelrc文件(存在.babelrc文件的直接进行配置), 输入以下内容:
{ "plugins":[ [ "@babel/plugin-proposal-decorators", { "legacy":true } ], [ "@babel/plugin-proposal-class-properties", { "loose":true } ] ], "presets":[ "react-app" ] }