Vue.js Apollo Client3缓存-在图中不存在的位置创建一个唯一的键字段

Vue.js Apollo Client3缓存-在图中不存在的位置创建一个唯一的键字段,vue.js,graphql,apollo-client,Vue.js,Graphql,Apollo Client,我需要想出一个唯一的关键领域,使阿波罗客户端3缓存将正常工作。数据中没有唯一的密钥,因此我必须创建一个本地密钥。我的数据定义了物料清单(BOM)。下图显示了这个难题。“Assy 2”在BOM表中显示在两个不同的位置,但在这两个位置正确地具有相同的ID和branchID。连接ID和branchID将不是唯一的 export const cache = new InMemoryCache({ typePolicies: { Tree: { // keyFields: [&qu

我需要想出一个唯一的关键领域,使阿波罗客户端3缓存将正常工作。数据中没有唯一的密钥,因此我必须创建一个本地密钥。我的数据定义了物料清单(BOM)。下图显示了这个难题。“Assy 2”在BOM表中显示在两个不同的位置,但在这两个位置正确地具有相同的ID和branchID。连接ID和branchID将不是唯一的

export const cache = new InMemoryCache({
  typePolicies: {
    Tree: {
      // keyFields: ["branchID"],  *** Doesn't work because branchID is not unique ***
      fields: {
        editBuffer: {read(_, { variables }) {return ""}},
        editMode: {read(_, { variables }) {return false}},
        isVisible: {read(_, { variables }) {return true}},
        nodeActive: {read(_, { variables }) {return false}},
        showChildren: {read(_, { variables }) {return true}},
      }
    },
  }
});

树。。。唯一是一个节点路径