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

相关内容

热门资讯

盘点几款!奇迹掌趣辅助,科乐填... 盘点几款!奇迹掌趣辅助,科乐填大坑破解版安卓,详细工具(真是有挂)1、完成科乐填大坑破解版安卓有辅助...
避坑细节!悟空大厅辅助器,广东... 您好,广东闲来辅助视频这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多玩...
今日头条!打两圈辅助,边锋辅助... 今日头条!打两圈辅助,边锋辅助器小程序微信,详细器(有挂功能)1、边锋辅助器小程序微信免费辅助多个强...
推荐十款!八闽状元郎竹间茶馆辅... 推荐十款!八闽状元郎竹间茶馆辅助,wepoker专用辅助,详细app(确实有挂)1、游戏颠覆性的策略...
分辨真假!杭州都莱有没有挂,花... 分辨真假!杭州都莱有没有挂,花城棋舍辅助,详细神器(发现有挂)1、这是跨平台的杭州都莱有没有挂轻量版...
交流学习经验!随意玩房卡辅助,... 交流学习经验!随意玩房卡辅助,盛世透视辅助器,详细技巧(有挂透明挂)1、不需要AI权限,帮助你快速的...
如何分辨真伪!雀友会广东潮汕b... 如何分辨真伪!雀友会广东潮汕bus,竞技联盟辅助,详细挂(有挂技巧)1、下载好雀友会广东潮汕bus脚...
玩家爆料!天天贵阳辅助工具,对... 玩家爆料!天天贵阳辅助工具,对战互娱辅助,详细攻略(揭秘有挂)1、游戏颠覆性的策略玩法,独创攻略技巧...
最新技巧!情怀大陆dnf辅助,... 最新技巧!情怀大陆dnf辅助,微信大厅辅助软件,详细教程(有挂秘笈)1、让任何用户在无需微信大厅辅助...
总算了解!来来拼十软件脚本,美... 总算了解!来来拼十软件脚本,美猴王大厅怎么修改数据,详细脚本(真实有挂)1、美猴王大厅怎么修改数据免...