【发布时间】:2016-04-09 05:44:21
【问题描述】:
我一直在尝试将一些现有的 React-Reflux 代码重构为 ES-6 语法,
我有 3 家商店用于人员、项目和活动。它们基本上做同样的事情,但调用不同的 api 来获取结果。
所以我尝试执行以下操作:
class ResultStore extends Reflux.Store {
constructor(resultsAPI){
super();
//initializations
}
}
class PeopleResultStore extends ResultStore {
constructor(){
super('peopleBySkill');
}
}
但这开始在代码库中的随机位置(主要是在完全不相关商店的导出语句中)抛出错误“超级表达式必须为空或函数,而不是未定义”。我使用的是 0.14.3 版的 React 和 0.3.0 版的 Reflux
【问题讨论】:
-
你从哪里得到
Reflux.Store?不是因为回流而暴露的吗?我知道他们有createStore,但Store函数是内部的 -
@Dominic 我在这里找到了这个link,我通过了 Reflux-Store,你是对的,Store 没有暴露,有什么建议吗??
-
看起来作者不喜欢 ES6 类,并且 Reflux 主要基于 mixins 和工厂函数,换句话说,除非您编写自己的基于类的存储,否则我认为这是不可能的。此外 Reflux 并没有太多的开发活动——如果你想转移到类,它会阻碍你,你可能不得不切换到其他东西或不使用类
-
@DominicTobias - Reflux 现在(就在最近)实现了 ES6 风格的类和存储。这里的文档:github.com/reflux/refluxjs#react-es6-usage
标签: javascript reactjs ecmascript-6 refluxjs