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方法更新缓存。

相关内容

热门资讯

2ai代打(Wepoke安卓版... 2ai代打(Wepoke安卓版)外挂透明挂辅助工具(透视)德州论坛(有挂技巧)-哔哩哔哩Wepoke...
第四智能ai!三三麻将助赢神器... 第四智能ai!三三麻将助赢神器(辅助挂)太坑了原来真的有挂(有挂解密)-哔哩哔哩;三三麻将助赢神器辅...
3个外挂!wpk透视辅助可测试... 3个外挂!wpk透视辅助可测试真的假的(辅助软件)原来真的有挂(真实有挂)-哔哩哔哩准备好在wpk透...
6个私人局!德扑赔率胜率计算(... 6个私人局!德扑赔率胜率计算(软件)透视辅助(有挂总结)-哔哩哔哩,支持语音通讯、好友开房及战队组建...
7教程(微扑克小程序)外挂透明... 7教程(微扑克小程序)外挂透明挂辅助插件(透视)专业教程(有挂助手)-哔哩哔哩;微扑克小程序黑科技是...
四技巧!碣石暗宝怎么破解(透视... 四技巧!碣石暗宝怎么破解(透视)太坑了其实真的有挂(有挂透视)-哔哩哔哩是一款可以让一直输的玩家,快...
三个透明挂!微扑克俱乐部机器人... 三个透明挂!微扑克俱乐部机器人(必胜技巧)辅助透视(有挂解密)-哔哩哔哩;微扑克黑科技是一款具有ia...
第六个神器!德扑之星真的太假了... 第六个神器!德扑之星真的太假了(代打)软件透明挂(有挂神器)-哔哩哔哩德扑之星真的太假平台为新手玩家...
第2私人房(Wepoke下载)... 第2私人房(Wepoke下载)外挂透明挂辅助挂(辅助挂)必备教程(有挂猫腻)-哔哩哔哩;一、Wepo...
第6安卓版本!微友有辅助挂是真... 第6安卓版本!微友有辅助挂是真的吗(辅助挂)太坑了原来真的有挂(有挂技术)-哔哩哔哩1、打开德州po...