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}
); }

相关内容

热门资讯

玩家交流((wepower德州... 玩家交流((wepower德州))外挂透明挂辅助工具(脚本辅助挂)一直真的有挂(可靠技巧)-知乎1、...
科技通报((aapOKER))... 科技通报((aapOKER))外挂透明挂辅助插件(脚本辅助挂)原来真的有挂(解密教程)-头条;1、系...
带你了解((wPk))外挂透明... 带你了解((wPk))外挂透明挂辅助黑科技(智能ai代打)本来真的有挂(细节方法)-今日头条1、操作...
分享一款((约局互娱))外挂透... 分享一款((约局互娱))外挂透明挂辅助挂(wpk辅助)一般真的有挂(2025新版教程)-头条;1、下...
揭秘攻略((AAPOKER))... 揭秘攻略((AAPOKER))外挂透明挂辅助器(黑科技辅助)原来真的有挂(科技教程)-今日头条;该软...
一分钟了解((wePOke))... 一分钟了解((wePOke))外挂透明挂辅助工具(透视辅助挂)就是真的有挂(详细教程)-头条1)辅助...
科普((聚星扑克))外挂透明挂... 科普((聚星扑克))外挂透明挂辅助工具(透视辅助挂)一般真的有挂(普及教程)-头条1、完成透视辅助安...
玩家必看攻略((WEPOke)... 玩家必看攻略((WEPOke))外挂透明挂辅助神器(德州辅助)的确是有挂的(解密教程)-小红书;1)...
今日公布((菠萝德州app))... 今日公布((菠萝德州app))外挂透明挂辅助APP(德州辅助)好像真的有挂(揭秘教程)-抖音1、全新...
玩家必备科普((aapOker... 玩家必备科普((aapOker))外挂透明挂辅助器(智能ai代打)一贯真的有挂(存在挂教程)-微博热...