MobX 6 |反应未找到功能

问题描述

MobX 6 在我设置的 React 项目中看到了“计数器”变量。但它没有看到函数(增量,减量)。我已将输出附加到所附图片。是什么原因?

import {observable,computed,action,makeObservable} from 'mobx';

class UserStore {
    counter = 0;

    increment() {
        this.counter++;
    }
    decrement() {
        this.counter--;
    }
    get counterMoreThan10() {
        return this.counter > 10;
    }
    constructor() {
        console.log('constructor')
        makeObservable(this,{
            counter: observable,increment: action,decrement: action,counterMoreThan10: computed
        });
    }
}
const store = new UserStore();
export default store;
import React from 'react';
import {inject,observer} from "mobx-react";

const Dashboard = ({UserStore}) => {
    console.log(UserStore)
    return(
        <>
        </>
    )
}
export default inject('UserStore')(observer(Dashboard));

image

解决方法

您是否检查过原型 __proto__

MobX 可能(也可能不会,这是实现细节)创建代理类来保存方法或其他东西。

尝试做console.log(UserStore.__proto__)或只是console.log(UserStore.increment)