在Flux示例中,所有Store类都具有emitChange
,addChangeListener
和removeChangeListener
的功能。它们在所有示例中都是相同的,例如:
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
如果它们相同,为什么库不提供一些通用代码?为什么有这个样板?
答案 0 :(得分:1)
公共代码在emit
和on
以及removeListener
的实现中。
这只是一个例子。在现实生活中,您可能永远不会在应用启动后删除听众。或者您可能想要为这些方法添加一些日志记录代码。因此,这些样板示例可能因app而异。
更重要的是。 Facebook的通量实现只是一个例子。可能有数百个flux实现,因为它们构建相当简单。重要的特征不在于这些细微的细节,而在于设计数据如何通过通量架构。
如果您有兴趣,here's a store使用my own minimal flux架构课程。根本没有样板。