11、使用 React、GraphQL 和 Apollo Client 实现分页与缓存

使用 React、GraphQL 和 Apollo Client 实现分页与缓存

1. GraphQL 分页与 Apollo Client 在 React 中的实现

在使用 GraphQL API 时,分页是一项高级功能。下面我们将实现一个“More”按钮,用于查询存储库的后续页面,并将新页面与之前的列表合并到 Apollo Client 的缓存中。

步骤 1:扩展查询以支持分页

src/Profile/index.js 文件中,扩展查询以包含分页所需的信息:

const GET_REPOSITORIES_OF_CURRENT_USER = gql`
query($cursor: String) {
  viewer {
    repositories(
      first: 5
      orderBy: { direction: DESC, field: STARGAZERS }
      after: $cursor
    ) {
      edges {
        node {
          ...repository
        }
      }
      pageInfo {
        endCursor
        hasNextPage
      }
    }
  }
}
${REPOSITORY_FRAGMENT}
`;
  • endCursor 可作为获取下一页存储库时的 $cursor
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值