【发布时间】:2017-04-04 21:55:21
【问题描述】:
我想使用 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 和 Dependencies 都添加到我的 package.json 中。
我的“开始”命令是否有任何错误或对 observable 的概念有任何误解?
【问题讨论】:
-
我认为
observable装饰器只能用于类属性。尝试将projectsDb设为类属性,看看它是否改变了任何东西。另外,我会尝试将projectsDb包装在一个对象中,看看它是否会改变任何东西(不确定它是否是一个正确的解决方案,只是看看它是否有效)。 -
@DorWeid 谢谢你的建议。我将我的 projectsDb 包装在一个类中并使用了“可观察”装饰器,没有出现错误。现在我希望我的应用逻辑能够正常工作。