简单、可扩展的状态管理.
React 通过提供机制把应用状态转换为可渲染组件树并对其进行渲染。而 MobX 提供机制来存储和更新应用状态供 React 使用。
安装
1 | npm install mobx --save |
绑定库
1 | npm install mobx-react --save |
提示
由于公司有些项目可能是版本,直接下载上述依赖可能会触发,数据改变,视图不更新,使用老版本的包即可解决,下面是依赖对应的版本号:
1 | { |
使用
1 | // store/model/app.js |
结合 react 使用
1 | import React, { Component } from "react"; |
observable
定义变量
值可以是 JS 基本数据类型、引用类型、普通对象、类实例、数组和映射
@computed
声明式的创建计算属性
观察对象处理后的数据, 当观察对象值变化后,产生新的值
只对函数内的值响应
注:启用 decorators
1 | @computed get total (){ |
@inject()
用来从 React 的 context 中挑选 store 作为 prop 传递给目标组件
参数是 仓库的命名空间(namespace)
@observer
对仓库 observabl 做出响应
当组件中依赖项有变化时,组件自己会响应更新。
componentWillReact
组件中被 observable 观测的数据改变,就会触发这个生命周期
@action
可以修改状态
对任何修改 observables 或具有副作用的函数使用@action
参数
- name
- String 类型
- 主要描述 action 的作用
- fn
- Function
- action 的具体逻辑,即对 observable 变量的操作
I'm so cute. Please give me money.
- Post link: https://blog.gaocaipeng.com/2020/07/24/ep3pv7/
- Copyright Notice: All articles in this blog are licensed under unless otherwise stated.