【问题标题】:Flux threw Dispatcher is not a constructorFlux 抛出 Dispatcher 不是构造函数
【发布时间】:2015-09-10 05:12:30
【问题描述】:

我尝试将 jspm 与 reactjs 一起使用。我工作得很好。但是当我将它与来自 npm 的通量包集成时。然后它总是抛出 Dispatcher is not a constructor 错误。 我的代码如下

AppDispatcher.js

import Flux from 'flux';
export default new Flux.Dispatcher();

StoreBase.js

'use strict';

import {EventEmitter} from 'events';
import AppDispatcher from '../dispatchers/AppDispatcher';

const CHANGE_EVENT = 'change';

export default class BaseStore extends EventEmitter {
    constructor() {
        super();
    }

    subscribe(actionSubscribe) {
        this._dispatchToken = AppDispatcher.register(actionSubscribe());
    }

    get dispatchToken() {
        return this._dispatchToken;
    }

    emitChange() {
        this.emit(CHANGE_EVENT);
    }

    addChangeListener(cb) {
        this.on(CHANGE_EVENT, cb)
    }

    removeChangeListener(cb) {
        this.removeListener(CHANGE_EVENT, cb);
    }
}

我使用了 reactjs@0.13.3、react-router@0.13.3 和 Flux@2.0.3。谁能帮我解决这个问题?

【问题讨论】:

  • 您是否知道为什么会发生这种情况或如何解决?
  • @stkvtflw 在下面查看 Ajay 的答案

标签: javascript node.js reactjs reactjs-flux jspm


【解决方案1】:

您应该按如下方式导出Dispatcher

import Flux from 'flux';
export default new Flux.Dispatcher;

【讨论】:

    【解决方案2】:

    如果你使用的是 Babel,你可以在下面使用

    import { Dispatcher } from 'flux';
    const dispatcher = new Dispatcher();
    export default dispatcher;
    

    【讨论】:

      猜你喜欢
      • 2011-06-02
      • 1970-01-01
      • 1970-01-01
      • 2019-07-11
      • 2016-03-12
      • 2013-07-13
      • 2019-04-12
      • 2010-11-14
      • 2011-04-07
      相关资源
      最近更新 更多