如何使 class 的实例可观察(mobx)

How make instance of class observable (mobx)

我有 React 组件,我需要像 observable 一样创建 class 的实例。

@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 我们注入:

class B {
    @observabe
    _name: string

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

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