Apollo缓存类型策略:同一字段在多个父查询中出现
创始人
2024-09-09 10:30:17
0

可以使用merge函数来处理这种情况。如果您想让来自不同查询的相同字段合并在一起,则可以在类型策略中使用merge函数。

例如,假设我们有以下两个查询:

query GetPerson {
  person {
    id
    name
  }
}

query GetEmployee {
  employee {
    id
    name
    department
  }
}

我们想要合并person和employee上的name字段。我们可以这样做:

cache: new InMemoryCache({
  typePolicies: {
    Person: {
      fields: {
        name: {
          // Merge the name fields from both queries
          merge(existing, incoming) {
            if (!incoming) return existing;
            if (!existing) return incoming;
            return { ...existing, ...incoming };
          }
        }
      }
    },
    Employee: {
      fields: {
        name: {
          // Merge the name fields from both queries
          merge(existing, incoming) {
            if (!incoming) return existing;
            if (!existing) return incoming;
            return { ...existing, ...incoming };
          }
        }
      }
    }
  }
})

在这个例子中,我们在Person和Employee类型策略中使用了相同的merge函数,以便合并相同的name字段。现在,当我们发出GetPerson和GetEmployee查询时,Apollo将自动合并这些字段。

注意,如果祖先类型和属性名称相同,则将仅使用类型策略中的最后一个指定的合并函数。如果要指定每个查询的独特合并函数,则可以使用resolveReference选项。

相关内容

热门资讯

科技介绍!斗棋bug辅助,柳州... 科技介绍!斗棋bug辅助,柳州天天爱字牌辅助器,详细插件(有挂秘籍)一、柳州天天爱字牌辅助器游戏安装...
来一盘!邯郸胡乐修改器视频,山... 来一盘!邯郸胡乐修改器视频,山西扣点点辅助挂定制交易平台,详细神器(今日头条)1)山西扣点点辅助挂定...
传递经验!欢乐茶馆脚本辅助,福... 传递经验!欢乐茶馆脚本辅助,福建天天开心王国辅助,详细教程(有挂攻略)1、在福建天天开心王国辅助插件...
普及知识!微信微乐挂有没有,雀... 普及知识!微信微乐挂有没有,雀友会广东潮汕麻雀开挂,详细神器(有挂规律)1、不需要AI权限,帮助你快...
专业讨论!雷霆辅助器,时光互娱... 专业讨论!雷霆辅助器,时光互娱房卡辅助,详细插件(有挂工具)时光互娱房卡辅助透视方法中分为三种模型:...
分享一款!超级三加一辅助工具安... 分享一款!超级三加一辅助工具安装,蜀渝牌乐汇修改器,详细攻略(有挂技巧)1、很好的工具软件,可以解锁...
热点推荐!科乐填大坑作弊码,科... 热点推荐!科乐填大坑作弊码,科乐填大坑作弊码,详细app(发现有挂)1、用户打开应用后不用登录就可以...
实测发现!钱柜手游辅助,创思维... 实测发现!钱柜手游辅助,创思维激k有挂吗,详细工具(有挂实锤)创思维激k有挂吗破解侠是真的助透视。每...
总算了解!填大坑辅助视频,潮友... 总算了解!填大坑辅助视频,潮友会鱼虾蟹怎么发现软件控制,详细插件(证实有挂)1)潮友会鱼虾蟹怎么发现...
必备教程!九酷众游辅助,奇迹陕... 必备教程!九酷众游辅助,奇迹陕西游戏辅助器,详细app(有挂工具)1、用户打开应用后不用登录就可以直...