Flux 抛出 Dispatcher 不是构造函数
Posted
技术标签:
【中文标题】Flux 抛出 Dispatcher 不是构造函数【英文标题】:Flux threw Dispatcher is not a constructor 【发布时间】: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 的答案 【参考方案1】:您应该按如下方式导出Dispatcher
import Flux from 'flux';
export default new Flux.Dispatcher;
【讨论】:
【参考方案2】:如果你使用的是 Babel,你可以在下面使用
import Dispatcher from 'flux';
const dispatcher = new Dispatcher();
export default dispatcher;
【讨论】:
以上是关于Flux 抛出 Dispatcher 不是构造函数的主要内容,如果未能解决你的问题,请参考以下文章
Flux Dispatcher 的目的是啥(与仅具有实例方法相比)