使用React和Flux时,标准做法是从操作进行API调用,然后将结果数据存储在Store类中。但谁应该负责在存储后转换数据?
示例:我有一个EntryStore
来保存代表购物清单项目的对象。我有许多过滤器可以应用于它们(例如“仅显示dairy
”)。我目前通过调用EntryActions.filterEntries('dairy')
来完成此工作,然后调度员将其传递到EntryStore
,其中_filterEntries(tag)
方法会转换EntryStore._entries
数组。这被认为是最佳做法吗?该操作本身是否应该转换条目列表,然后将其传递给EntryStore
以便保存?在这种情况下,商店应该多么愚蠢?
答案 0 :(得分:3)
Component --> (actions) --> Dispatcher --> (callback) ---> Stores -----+
Ʌ |
| V
+-- ("change" event handlers) --------------------- (change events) ---+
数据的变异必须通过调用视图/组件中的操作来实现。数据存储侦听这些操作并改变存储中的数据(包括过滤,以及您可能需要的任何其他数据突变或逻辑)