如何在命名空间中使用装饰器:MobX

How to use decorators inside namespace: MobX

我在我的客户端代码中使用 MobX 是这样的:

<script src="/js/mobx.umd.js"></script>
<script src="/js/mobx-react/index.min.js"></script>

现在当我想像下面这样实际使用 MobX 时,它不起作用,即我的客户端用户界面不会对可观察变量的变化做出反应:

const action=window.mobx.action
const observable=window.mobx.observable

class Store {

    @observable isLoggedIn=false;
    @action setIsLoggedIn=(tf)=>{this.isLoggedIn=tf}
}

我想知道如何在 ES6 中实际使用 window.mobx.actionwindow.mobx.observable


之前我使用 MobX 和 NPM,如下所示,它运行良好:

import { action, observable } from 'mobx'

装饰器只能通过 babel / typescript 进行转译。对于 ES5 语法,请参阅 https://mobx.js.org/best/decorators.html

class Store {
   isLoggedIn = observable(false);
   setIsLoggedIn= action((tf)=>{this.isLoggedIn=tf});
}