【问题标题】:Migrating Reflux Stores to ES6 syntax将 Reflux Store 迁移到 ES6 语法
【发布时间】: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


【解决方案1】:

Reflux.StoreReflux.Component 用于 ES6 是刚刚实现的新功能,可以在 Reflux 中使用。您之前提到的页面只是有人提到他们想要这样的功能。它当时尚未实施,该页面上讨论的内容不一定反映它的实施方式。

关于它们当前如何实现的文档在这里:https://github.com/reflux/refluxjs#react-es6-usage

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-21
    • 1970-01-01
    • 2019-12-02
    • 2015-02-22
    • 1970-01-01
    • 2017-10-07
    • 2019-02-24
    • 2014-01-26
    相关资源
    最近更新 更多