mobx - 前导装饰器必须附加到 class 声明
mobx - Leading decorators must be attached to a class declaration
我想使用 MobX 装饰器,但是当我尝试 运行 我的代码时,我收到以下错误消息:
Leading decorators must be attached to a class declaration
我的应用程序正在将数据存储在 nedb 的数据存储中,我想用 mobx 观察它们。
例如,如果我有以下代码:
import { observable } from 'mobx';
import Datastore from 'nedb';
@observable projectsDb = new Datastore({
filename: __dirname + './projects.json',
autoload: true,
timestampData: true,
});
export default projectsDb;
当我启动我的 Electron 应用程序时,我使用以下命令:
"browserify -t [ babelify --presets [ react es2015 stage-1] --plugins [transform-decorators-legacy] ] app/app.jsx -o app/js/app.js && stylus app/css/styles.styl -o app/css/styles.css && electron app/main.js",
所有 devDepenendencies 和依赖项都添加到我的 package.json。
是不是我的"start"命令有什么错误,或者对这里的observable概念有什么误解吗?
装饰器(通常)不能应用于变量,只能应用于 classes 和属性。但是,observable
也可以作为函数调用(因此没有 @
),然后您也可以将对象放入其中。
P.S。请注意,MobX 确实会修改外部库的内部结构,因此将您的整个数据库 class 传递给 observable
不会神奇地使您的整个数据库库具有反应性,它只会为数据库创建一个 observable reference
你可以去掉装饰器后面的分号:
转这个:
@inject(CssAnimator);
对此:
@inject(CssAnimator)
我想使用 MobX 装饰器,但是当我尝试 运行 我的代码时,我收到以下错误消息:
Leading decorators must be attached to a class declaration
我的应用程序正在将数据存储在 nedb 的数据存储中,我想用 mobx 观察它们。
例如,如果我有以下代码:
import { observable } from 'mobx';
import Datastore from 'nedb';
@observable projectsDb = new Datastore({
filename: __dirname + './projects.json',
autoload: true,
timestampData: true,
});
export default projectsDb;
当我启动我的 Electron 应用程序时,我使用以下命令:
"browserify -t [ babelify --presets [ react es2015 stage-1] --plugins [transform-decorators-legacy] ] app/app.jsx -o app/js/app.js && stylus app/css/styles.styl -o app/css/styles.css && electron app/main.js",
所有 devDepenendencies 和依赖项都添加到我的 package.json。
是不是我的"start"命令有什么错误,或者对这里的observable概念有什么误解吗?
装饰器(通常)不能应用于变量,只能应用于 classes 和属性。但是,observable
也可以作为函数调用(因此没有 @
),然后您也可以将对象放入其中。
P.S。请注意,MobX 确实会修改外部库的内部结构,因此将您的整个数据库 class 传递给 observable
不会神奇地使您的整个数据库库具有反应性,它只会为数据库创建一个 observable reference
你可以去掉装饰器后面的分号:
转这个:
@inject(CssAnimator);
对此:
@inject(CssAnimator)