在助焊剂网络聊天示例应用程序和README图中,动作创建者似乎应该从服务器检索数据。
我看到的问题是,如果数据已经在存储中,则无需提取。商店是唯一要知道的商店,因此实际上需要分派操作。
我认为最好在可能的情况下获取非规范化数据,以最大程度地减少xhr调用。如果商店非规范化,例如MessageStore
将包含呈现消息所需的所有数据。每条消息看起来像
{
"id": 42
"message": "Héllo, you tried reactjs-flux too. Awesome isn't it!"
"user": {id: 1337, username: "amirouche", bio: "maker"},
"likes": [{id: 2600, username: "NinjaTurtle"}, {id: 2601, username: "Peer"}
}
该商店可能有责任(通过事件?)来使用部分用户模型来更新UserStore。
我想到的另一种方法是拥有一些规范化存储,并使用视图期望的模式创建特定存储。
在这种情况下,在我看来,动作创建者仅对分配有效负载有用。这毫无用处。
你怎么认为?
通常我的商店都在处理数据提取。这样,确保所有逻辑都可以由存储本身管理,并且可以完全控制何时/如何/为什么提取数据。
您还可以使商店相互通信这一事实也是另一个原因,为什么商店应该负责处理/获取数据。
另外,正如Flux模式所描述的:“商店包含应用程序状态和逻辑。它们的作用与传统MVC中的模型有些相似,但是它们管理着许多对象的状态。”让商店进行管理确实有意义从API /服务器端获取数据。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句