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 的目的是啥(与仅具有实例方法相比)

react_2/flux

flux

react--------------flux-------------劉

flux架构的详细介绍和使用!

Flux