Mobx
最核心就是解决React
组件中的状态管理,外部的数据管理.它是一个独立的库,并不单单只适用于React
.数据与视图分开。MobX
管理数据,而React
专注于视图
使用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
import {makeAutoObservable} from "mobx";
import {observer} from 'mobx-react-lite'
// 1. 数据以类形式编写,并编写维护内部数据的方法
class EchoTimeStore {
now = 0;
constructor() {
makeAutoObservable(this)
}
add = () => {
this.now++
}
// 函数变成属性,类似Python的@property装饰器
get double() {
return this.now * 2;
}
}
// 实例化数据存储
const store = new EchoTimeStore();
// 2. 视图
const EchoTime = () => {
console.log("store is ",store.now);
return (
<div>
now {store.now} <br/> Double: {store.duble}
<button onClick={store.add}>+</button>
</div>
)
}
// 导入的React视图需要用observer函数包装一下
export default observer(EchoTime);
|