Apollo客户端中从useQuery使用fetchMore方法会触发两次网络请求。
创始人
2024-09-09 11:30:41
0

使用fetchMore方法时,可以通过在options对象中使用fetchPolicy: 'cache-and-network'来避免重复的网络请求。同时,可以使用updateQuery函数在缓存中更新数据。

示例代码:

import { useQuery } from '@apollo/client';
import { GET_POSTS } from './queries';

const Posts = () => {
  const { data, loading, fetchMore } = useQuery(GET_POSTS, {
    variables: { offset: 0, limit: 10 },
    fetchPolicy: 'cache-and-network', // 避免重复的网络请求
  });

  const handleLoadMore = () => {
    fetchMore({
      variables: { offset: data.posts.length },
      updateQuery: (prev, { fetchMoreResult }) => {
        if (!fetchMoreResult) return prev;
        return Object.assign({}, prev, {
          posts: [...prev.posts, ...fetchMoreResult.posts],
        });
      },
    });
  };

  if (loading) return 

Loading...

; return (
{data.posts.map((post) => (
{post.title}
))}
); }

在这个示例中,当用户点击“Load More”按钮时,将触发一个新的网络请求并在缓存中更新数据,而不是发出两个重复的网络请求。

相关内容

热门资讯

透视玄学!we poker辅助... 透视玄学!we poker辅助器下载(透视)本来有辅助安装(有挂总结)-哔哩哔哩1、这是跨平台的we...
相较于以往!约局吧开挂神器是真... 相较于以往!约局吧开挂神器是真的吗(透视)竟然有辅助平台(有挂解密)-哔哩哔哩1、起透看视 约局吧开...
据目击者称!如何判断wpk辅助... 据目击者称!如何判断wpk辅助软件的真假(透视)本来是有辅助安装(果真有挂)-哔哩哔哩进入游戏-大厅...
据通报!wejoker透视方法... 据通报!wejoker透视方法(透视)其实存在有辅助工具(有挂细节)-哔哩哔哩1、据通报!wejok...
此事迅速冲上热搜!WePOke... 此事迅速冲上热搜!WePOker有没有透视方法(透视)一贯有辅助平台(有挂透视)-哔哩哔哩1、WeP...
透视了解!wepokerh5破... 透视了解!wepokerh5破解(透视)一贯是有辅助修改器(有挂方针)-哔哩哔哩1、首先打开wepo...
截至目前!wepoker提高好... 截至目前!wepoker提高好牌率(透视)原来是真的辅助软件(今日头条)-哔哩哔哩1、在wepoke...
透视辅助!菠萝辅助器免费版的特... 透视辅助!菠萝辅助器免费版的特点(透视)果然是有辅助app(有挂教学)-哔哩哔哩1、超多福利:超高返...
近期!佛手大菠萝辅助(透视)果... 近期!佛手大菠萝辅助(透视)果然是真的辅助工具(有挂透视)-哔哩哔哩1、每一步都需要思考,不同水平的...
目前!we poker辅助器v... 目前!we poker辅助器v3.3(透视)其实存在有辅助工具(有挂规律)-哔哩哔哩亲,关键说明,w...