Redux 阿波罗:真理的唯一源泉

Redux 阿波罗:真理的唯一源泉,redux,apollo,react-apollo,apollo-client,Redux,Apollo,React Apollo,Apollo Client,redux有“单一真相来源”的原则,我很难弄清楚GQL中的轮询片段将如何继续保持这一原则 TL;DR:apollo是为整个应用程序规范化实体,还是为每个apollo容器规范化实体 阿波罗有自己的redux商店。 通过架构图,我看到在将数据应用到redux之前有一个规范化阶段 我的问题是:假设我有一个post模式和一个用户模式。 在轮询帖子时,我会提取帖子信息,以及作者(用户模式)姓名和个人资料。 我和阿波罗有一个邮筒。 所以我猜阿波罗商店现在的状态是: { posts: { 51

redux有“单一真相来源”的原则,我很难弄清楚GQL中的轮询片段将如何继续保持这一原则

TL;DR:apollo是为整个应用程序规范化实体,还是为每个apollo容器规范化实体

阿波罗有自己的redux商店。 通过架构图,我看到在将数据应用到redux之前有一个规范化阶段

我的问题是:假设我有一个post模式和一个用户模式。 在轮询帖子时,我会提取帖子信息,以及作者(用户模式)姓名和个人资料。 我和阿波罗有一个邮筒。 所以我猜阿波罗商店现在的状态是:

 {
  posts: {
     512 : {
        title: "title"
        content: "big content"
        author: [32]
     }
  },

  users: {
     32 : {
       name: "James"
       profilePic: "YYYYYY"
     }
  }
}
但是,当用户James将他的名字改为Julian,而另一个组件,经常更新的chat menu组件的用户id为:32,名称不同,Julian时会发生什么情况呢 帖子容器也会因此更新吗? 否则它将继续显示过时的数据?

好问题

你的答案可以在这里找到:

如果链接中断,将进行总结:

apollo client
不会以您请求的方式存储内容,而是作为一个平面结构(并基于
ID
\uuu typename
为该对象生成一个ID,并跟踪对象之间的引用)

当组件请求这些对象时,它将从展开的结构中获取对象,并将其构建为请求的格式