ApolloClientuseLazyQueryfetchMore不更新loading状态或未被调用。
创始人
2024-09-09 08:00:30
0

这个问题可能是因为 fetchMore 方法执行后没有触发 loading 状态更新的原因。您可以通过将 loading 参数设置为 true 来手动更新 loading 状态,同时在 fetchMore 方法中添加部分必要的参数来解决此问题。

以下是示例代码,仅供参考:

import { useLazyQuery } from '@apollo/client';

const MY_QUERY = gql`
  query MyQuery($param: String!, $offset: Int!, $limit: Int!) {
    myQuery(param: $param, offset: $offset, limit: $limit) {
      nodes {
        id
        name
      }
      pageInfo {
        endCursor
        hasNextPage
      }
    }
  }
`;

function MyComponent() {
  const [getMyData, { loading, data, fetchMore }] = useLazyQuery(MY_QUERY);

  const handleLoadMore = () => {
    const { endCursor } = data.myQuery.pageInfo;

    fetchMore({
      variables: {
        param: 'someParam',
        limit: 10,
        offset: endCursor + 1,
      },
      updateQuery: (prevData, { fetchMoreResult }) => {
        const newData = { ...prevData };

        newData.myQuery.nodes = [
          ...newData.myQuery.nodes,
          ...fetchMoreResult.myQuery.nodes,
        ];

        newData.myQuery.pageInfo = fetchMoreResult.myQuery.pageInfo;

        return newData;
      },
    });

    // 手动更新 loading 状态
    getMyData({
      variables: { param: 'someParam', offset: endCursor + 1, limit: 10 },
      fetchPolicy: 'network-only',
      skip: true,
    });
  };

  return (
    
{loading ? (

Loading...

) : data ? ( <>
    {data.myQuery.nodes.map((node) => (
  • {node.name}
  • ))}
{data.myQuery.pageInfo.hasNextPage && ( )} ) : null}
); }

相关内容

热门资讯

开挂辅助脚本"大菠萝... 您好:这款大菠萝辅助器游戏是可以开挂的,确实是有挂的,很多玩家在这款大菠萝辅助器游戏中打牌都会发现很...
开挂辅助脚本"wep... 开挂辅助脚本"wepoker有没有机器人"开挂(透视)辅助下载(有挂解密) >>您好:软件加薇136...
开挂辅助工具"wep... 大家好,今天小编来为大家解答wepoker可以透视码这个问题咨询软件客服可以免费测试直接加微信(13...
开挂辅助插件"pok... 开挂辅助插件"pokermaster辅助器"开挂(透视)辅助插件(有挂总结) >>您好:软件加薇13...
开挂辅助平台"wep... 开挂辅助平台"wepoker代打辅助"开挂(透视)辅助工具(新版有挂)《详细加薇136704302咨...
开挂辅助平台"wep... 您好:这款wepoker怎么下载游戏游戏是可以开挂的,确实是有挂的,很多玩家在这款wepoker怎么...
开挂辅助安装"epo... 开挂辅助安装"epoker透视"开挂(透视)辅助下载(有挂攻略);无需打开直接搜索微信(136704...
开挂辅助神器"佛手大... 开挂辅助神器"佛手大菠萝有挂吗"开挂(透视)辅助平台(真实有挂)【无需打开直接搜索加薇1367043...
开挂辅助插件"约局吧... 开挂辅助插件"约局吧是否有挂"开挂(透视)辅助安装(有挂秘笈)>>您好:软件加136704302中薇...
开挂辅助工具"wep... 开挂辅助工具"wepoker透视脚本是什么"开挂(透视)辅助安装(果真有挂)您好:wepoker透视...