如何使类的实例可观察mobx

问题描述

我有 react 组件,我需要创建像 observable 这样的类的实例。

@observer
class A extend React.Component {
    // make observable
    instance = new B();

    render (){
        <div>
            <div onClick={() => this.instance.setName('Joe')}/>
            // should update
            <div>{this.instance.name}</div>
        </div>
    }
}

我们注入的类:

class B {
    @observabe
    _name: string

    @action
    setName(name: string) {
        this._name = name;
    }
}

解决方法

好吧,我只是忘了绑定上下文。您可以使用箭头函数或@action.bind。