谁负责在缓存中通过应用程序从服务器获取数据?

在通量网络聊天示例应用程序和自述图中,似乎动作创建者应该从服务器检索数据。

通量数据流

我看到的问题是,如果数据已经在商店中,则可能不需要提取。 商店是唯一知道的,所以这个行为需要实际发送。

我认为最好在可能的情况下获取非规范化的数据,以最大限度地减少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 /服务器端获取数据。

链接地址: http://www.djcxy.com/p/83637.html

上一篇: Who is responsible to fetch data from server in a flux app with caching?

下一篇: c++