重置分页以重新获取拉动时的默认变量以刷新抛出光标警告?

Posted

技术标签:

【中文标题】重置分页以重新获取拉动时的默认变量以刷新抛出光标警告?【英文标题】:resetting a pagination to refetch on default variables on pull to refresh throw cursor warning? 【发布时间】:2021-05-25 01:44:52 【问题描述】:

我的平面清单上有这个道具:

 onRefresh=() => 
          setIsRefreshing(true);
          refetch(
             categoriesCount: 4, categoriesCursor: '' ,
            
              fetchPolicy: 'network-only',
              onComplete: () => 
                setIsRefreshing(false);
              ,
            
          );
        

这就是我初始化分页的方式:

const  data, loadNext, isLoadingNext, hasNext, refetch  = usePaginationFragment<
    CategoriesPaginationQuery,
    Categories_viewer$key
  >(
    graphql`
      fragment Categories_viewer on Viewer
      @argumentDefinitions(
        categoriesCount:  type: "Int", defaultValue: 4 
        categoriesCursor:  type: "String", defaultValue: "" 
      )
      @refetchable(queryName: "CategoriesPaginationQuery") 
        categories(first: $categoriesCount, after: $categoriesCursor)
          @connection(key: "Categories_viewer_categories", filters: []) 
          pageInfo 
            startCursor
            endCursor
            hasNextPage
            hasPreviousPage
          
          edges 
            cursor
            node 
              id
              pk
              name
            
          
        
      
    `,
    viewer
  );

这是警告:

警告:中继:光标后意外,必须从 列表的末尾 (YXJyYXljb25uZWN0aW9uOjc=)。

您在 argumentDefinitions 上看到 categoriesCount 的默认值是 4,categoriesCursor 是“”,我认为中继认为我正在重用已经获取的变量,但我想要做的是让分页“忘记它是当前边缘”并继续像一开始就拉回来一样刷新?

【问题讨论】:

【参考方案1】:

要重新获取分页容器,请使用refetchConnection

【讨论】:

以上是关于重置分页以重新获取拉动时的默认变量以刷新抛出光标警告?的主要内容,如果未能解决你的问题,请参考以下文章

使用 UIScrollView 分页拉动刷新

TableView 中的重新排序行将在数据刷新后重置为默认值

UITableView分页,将显示无限加载

拉动刷新默认刷新级别更改

工作拉动以禁用反弹刷新

拉动以刷新 tableviewcontroller 负载