ApolloClient:在创建客户端对象后是否有一种定义Apollo客户端类型策略的方法?
创始人
2024-09-09 08:30:24
0

可以使用Apollo Client的writeQuerywriteFragment方法手动更新缓存并定义类型策略。示例如下:

import { gql } from 'apollo-boost';
import { ApolloClient } from 'apollo-client';
import { InMemoryCache } from 'apollo-cache-inmemory';

const client = new ApolloClient({
  cache: new InMemoryCache(),
});

// 定义查询和类型
const GET_DATA = gql`
  query GetData {
    data {
      id
      name
      age
    }
  }
`;

type IData = {
  data: {
    id: string;
    name: string;
    age: number;
  }[];
};

// 先执行一次查询,让数据写入缓存
client.query({
  query: GET_DATA,
});

// 定义类型策略
client.cache.writeQuery({
  query: GET_DATA,
  data: {
    data: [
      {
        __typename: 'Person',
        id: '1',
        name: 'Alice',
        age: 21,
      },
      {
        __typename: 'Person',
        id: '2',
        name: 'Bob',
        age: 25,
      },
    ],
  },
});

// 更新缓存并触发查询结果更新
client.cache.writeQuery({
  query: GET_DATA,
  data: {
    data: [
      {
        __typename: 'Person',
        id: '1',
        name: 'Alice',
        age: 22,
      },
      {
        __typename: 'Person',
        id: '2',
        name: 'Bob',
        age: 25,
      },
    ],
  },
});

使用writeQuerywriteFragment方法可以手动更新缓存并定义类型策略。需要注意的是,要先执行一次查询让数据写入缓存,才能使用writeQuery方法更新缓存。

相关内容

热门资讯

更值得关注的是!hhpoker... 更值得关注的是!hhpoker脚本下载(透视)果然确实有挂(揭秘有挂开挂辅助插件)-哔哩哔哩1、起透...
据统计!智星菠萝可以辅助吗,n... 据统计!智星菠萝可以辅助吗,newpoker怎么安装脚本,阶段教程(有挂透视)-哔哩哔哩1、起透看视...
据监测!pokemmo免费脚本... 据监测!pokemmo免费脚本(透视)原来确实有挂(揭秘有挂开挂辅助工具)-哔哩哔哩1、pokemm...
据通报!wepoker轻量版透... 据通报!wepoker轻量版透视方法,wepoker俱乐部辅助,模板教程(有挂技巧)-哔哩哔哩1、打...
据权威媒体报道!wepoker... 据权威媒体报道!wepoker手机助手(透视)一直是有挂的(有挂教学开挂辅助工具)-哔哩哔哩在进入w...
围绕透视问题!wepoker透... 围绕透视问题!wepoker透视辅助下载,智星菠萝有挂吗,攻略教程(有挂辅助)-哔哩哔哩1、进入到w...
据玩家消息!pokemmo免费... 据玩家消息!pokemmo免费脚本(透视)一直有挂(有挂总结开挂辅助神器)-哔哩哔哩1、让任何用户在...
目前!poker辅助器免费安装... 目前!poker辅助器免费安装,德州局透视脚本,模板教程(今日头条)-哔哩哔哩1、让任何用户在无需p...
记者获悉!wpk辅助购买(透视... 记者获悉!wpk辅助购买(透视)一直是有挂(有挂解惑开挂辅助安装)-哔哩哔哩一、wpk辅助购买软件透...
目前!aapoker俱乐部靠谱... 目前!aapoker俱乐部靠谱吗,wepoker轻量版有透视吗,机巧教程(有挂解密)-哔哩哔哩一、w...