【发布时间】:2016-01-08 00:02:30
【问题描述】:
我能找到的每个官方 Flux 示例都使用这种模式来创建商店:
var MyStore = assign({}, EventEmitter.prototype, {
...
});
我不明白为什么我们直接在 MyStore 对象上分配方法,而我们可以通过使 MyStore 成为 EventEmitter 的实例来继承这些方法:
var MyStore = assign(new EventEmitter(), {
...
});
有人知道这种模式背后的基本原理吗?特别是因为它经常被误读,导致这样的错误:
var MyStore = assign(EventEmitter.prototype, {
...
});
如果我冒险猜测,我会说这是因为他们不想调用 EventEmitter 构造函数,他们希望您轻松地链接更多原型,如下所示:
var MyStore = assign({}, EventEmitter.prototype, A.prototype,
B.prototype, C.prototype, randomObject, {
...
});
【问题讨论】:
标签: javascript reactjs-flux flux eventemitter