什么是emitChange,addChangeListener和removeChangeListener的变化点

时间:2015-05-13 00:03:02

标签: reactjs-flux flux

在Flux示例中,所有Store类都具有emitChangeaddChangeListenerremoveChangeListener的功能。它们在所有示例中都是相同的,例如:

https://github.com/facebook/flux/blob/master/examples/flux-chat/js/stores/ThreadStore.js

https://github.com/facebook/flux/blob/master/examples/flux-todomvc/js/stores/TodoStore.js

如果它们相同,为什么库不提供一些通用代码?为什么有这个样板?

1 个答案:

答案 0 :(得分:1)

公共代码在emiton以及removeListener的实现中。

这只是一个例子。在现实生活中,您可能永远不会在应用启动后删除听众。或者您可能想要为这些方法添加一些日志记录代码。因此,这些样板示例可能因app而异。

更重要的是。 Facebook的通量实现只是一个例子。可能有数百个flux实现,因为它们构建相当简单。重要的特征不在于这些细微的细节,而在于设计数据如何通过通量架构。

如果您有兴趣,here's a store使用my own minimal flux架构课程。根本没有样板。