Skip to content
On this page

mobx6的应用

和mobx5的语法类似,只是去掉所有的装饰器,基于makeObservable、makeAutoObservable进行修饰处理即可!!

jsx
/*TaskStore.js*/
import { observable, action, runInAction, makeObservable, makeAutoObservable } from 'mobx';
import { getTaskList } from '../api';

class TaskStore {
    constructor(root) {
        this.root = root;
        /* // makeObservable函数可以捕获已经存在的对象属性并且使得它们可观察
        makeObservable(this, {
            taskList: observable,
            queryTaskListAction: action.bound,
            removeTaskAction: action.bound,
            updateTaskAction: action.bound
        }); */

        /* 
         makeAutoObservable 就像是加强版的 makeObservable,在默认情况下它将推断所有的属性
         推断规则:
            所有自有属性都成为 observable
            所有getters都成为 computed
            所有setters都成为 action
            所有prototype中的 functions 都成为 autoAction
            所有prototype中的 generator functions 都成为 flow
         */
        makeAutoObservable(this);
    }
    taskList = null;
    async queryTaskListAction() {
       ...
    }
    removeTaskAction(id) {
        ...
    }
    updateTaskAction(id) {
        ...
    }
}
export default TaskStore;
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
沪ICP备20006251号-1