Apollo分页和缓存加网络并发策略
创始人
2024-09-09 09:00:54
0

Apollo提供了一种灵活的分页和缓存加网络并发策略,使得客户端可以自由控制分页和缓存的行为。具体方法如下:

  1. 在前端定义查询:

const { useQuery } = require('@apollo/react-hooks'); const { gql } = require('apollo-boost');

const GET_PAGED_DATA = gql query getPagedData($pageSize: Int, $after: String) { data: getPagedData(pageSize: $pageSize, after: $after) @connection(key: "pagedData") { edges { cursor node { id name ... } } pageInfo { endCursor hasNextPage } } };

  1. 在后端实现分页查询:

const PagedDataResolver = { getPagedData: async (parent, args, { dataSources }, info) => { const { pageSize, after } = args; const { data } = await dataSources.pagedDataAPI.getPagedData(pageSize, after); return data; }, };

  1. 在前端组件中使用useQuery hook来获取分页数据:

const { loading, error, data, fetchMore, networkStatus } = useQuery(GET_PAGED_DATA, { variables: { pageSize: 10 }, notifyOnNetworkStatusChange: true, fetchPolicy: 'cache-and-network', })

  1. 在组件内部添加分页控制逻辑:

const handleLoadMore = () => { fetchMore({ variables: { after: data.data.pageInfo.endCursor }, updateQuery: (prev, { fetchMoreResult }) => { if (!fetchMoreResult) return prev; return { data: { ...fetchMoreResult.data, edges: [...prev.data.edges, ...fetchMoreResult.data.edges], }, }; }, }); };

  1. 使用Apollo的InMemoryCache来缓存分页数据:

import { InMemoryCache } from 'apollo-cache-inmemory'; import { ApolloClient } from 'apollo-client'; import { HttpLink } from 'apollo-link-http';

const cache = new

相关内容

热门资讯

重要通知!来玩德州可以作弊吗(... 重要通知!来玩德州可以作弊吗(透视软件挂)-原来真的有挂(2025已更新);来玩德州可以作弊吗是一款...
玩家必看秘籍!微扑克代打是真的... 1、玩家必看秘籍!微扑克代打是真的吗(辅助挂)反正真的有挂2020已更新)(哔哩哔哩);该软件可以轻...
七分钟普及!老友内蒙古麻将规律... 七分钟普及!老友内蒙古麻将规律(透视)外挂透视辅助APP(2023已更新)(哔哩哔哩)1、起透看视 ...
总算了解!兴动互娱打牌,广东雀... 总算了解!兴动互娱打牌,广东雀神小程序老是输,线上教程(有挂分享);(需添加指定薇757446909...
热点推荐(Wepoke下载)软... Wepoke下载新手教程相关信息汇总(需添加指定薇757446909获取下载链接);热点推荐(Wep...
透视苹果版!wepoker透视... 透视苹果版!wepoker透视软件辅助挂(透视辅助挂)-确实是真的有挂(2025已更新);亲,这款w...
重大消息(红龙扑克发牌)外挂透... 重大消息(红龙扑克发牌)外挂透视辅助工具(辅助挂)安装教程(2021已更新)(哔哩哔哩);精心打造了...
推荐攻略!微扑克发牌规律性总结... 推荐攻略!微扑克发牌规律性总结(辅助挂)反正真的有挂2023已更新)(哔哩哔哩)是一款可以让一直输的...
1分钟实锤!胡乐麻将随意选牌软... 自定义胡乐麻将系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅助器,不管你是想分...
分享认知!wepoker到底能... 分享认知!wepoker到底能不能透视(透视软件挂)-的确真的有挂(2024已更新);wepoker...