ApolloGraphQL中的useQuery在第一次调用时更新缓存,但fetchMore会怎样呢?
创始人
2024-09-09 10:00:53
0

在 Apollo GraphQL 中,useQuery 是用于查询数据的 React Hook,它可以自动更新缓存。而对于 fetchMore,它用于在已有数据的基础上获取更多数据,不会触发缓存的自动更新。但是我们可以通过一些方法手动更新缓存。

下面是一个示例代码,演示了如何使用 useQueryfetchMore 来获取数据并更新缓存:

import { useQuery, gql } from '@apollo/client';

const GET_POSTS = gql`
  query GetPosts($limit: Int, $offset: Int) {
    posts(limit: $limit, offset: $offset) {
      id
      title
    }
  }
`;

const PostList = () => {
  const { loading, data, fetchMore } = useQuery(GET_POSTS, {
    variables: { limit: 10, offset: 0 },
  });

  if (loading) {
    return 

Loading...

; } const { posts } = data; const loadMorePosts = () => { fetchMore({ variables: { offset: posts.length }, updateQuery: (prev, { fetchMoreResult }) => { if (!fetchMoreResult) return prev; return { posts: [...prev.posts, ...fetchMoreResult.posts], }; }, }); }; return (
{posts.map((post) => (
{post.title}
))}
); }; export default PostList;

在上述代码中,我们首先定义了一个 GET_POSTS 查询,用于获取文章列表。然后,我们使用 useQuery Hook 来发起查询请求,并在初始时设置了 limitoffset 变量。

当数据加载完成后,我们可以从 data 对象中获取到 posts 数组。然后,我们通过 fetchMore 方法来获取更多的文章数据。在 fetchMore 方法中,我们指定了新的 offset 变量,用于获取下一批数据。我们还通过 updateQuery 参数来手动更新缓存,将新获取到的数据添加到之前的数据中。

最后,我们展示了文章列表,并提供了一个 "Load More" 按钮,点击该按钮时会触发 loadMorePosts 函数,从而获取更多的文章数据。

通过这种方式,我们可以在使用 fetchMore 方法获取更多数据时手动更新缓存,实现缓存的更新和数据的加载。

相关内容

热门资讯

透视有挂!wpk可以作弊吗,w... 透视有挂!wpk可以作弊吗,wpk俱乐部是真的吗,教你攻略(有挂技巧);1)wpk俱乐部是真的吗辅助...
透视线上!hhpoker软件靠... 透视线上!hhpoker软件靠谱吗,hhpoker有后台操作吗,细节方法(有挂细节)所有人都在同一条...
透视了解!wpk俱乐部有没有辅... 透视了解!wpk俱乐部有没有辅助,wpk德州局怎么透视,扑克教程(有挂脚本);进入游戏-大厅左侧-新...
透视透视!wpk是真的还是假的... 透视透视!wpk是真的还是假的,wpk有辅助器吗,AI教程(有挂揭秘);1、构建自己的wpk是真的还...
透视ai代打!wpk俱乐部辅助... 透视ai代打!wpk俱乐部辅助器,wpk透视是真的假的,透牌教程(有挂教程)1、wpk透视是真的假的...
透视神器!德州hhpoker是... 透视神器!德州hhpoker是真的吗,hhpoker真的假的,细节方法(有挂技巧)1、德州hhpok...
透视智能ai!wpk透视插件,... 透视智能ai!wpk透视插件,wpk控制牌是真的吗,AI教程(有挂黑科技)一、wpk控制牌是真的吗软...
透视透视!hhpoker开挂教... 透视透视!hhpoker开挂教程,hhpoker透视脚本下载,必赢方法(有挂揭秘)1、hhpoker...
透视透视!wpk辅助哪里买,w... 透视透视!wpk辅助哪里买,wpk插件,科技教程(有挂细节)1、许多玩家不知道wpk辅助哪里买辅助软...
透视工具!购买的wpk辅助在哪... 透视工具!购买的wpk辅助在哪里下载,wpk有作弊吗,新2025版(有挂详情);1、打开软件启动之后...