Pagination 使用Apollo/GraphQL的光标分页一直给我带来错误

Pagination 使用Apollo/GraphQL的光标分页一直给我带来错误,pagination,graphql,apollo,react-apollo,Pagination,Graphql,Apollo,React Apollo,我正在尝试实现游标分页,并遵循文档中的示例,但我不断收到一个错误,即键入“query”时无法查询字段“cursor” 我知道Accounts架构中实际上不存在“cursor”字段……但从我从文档中读取的内容来看。。您必须在gql``查询中的某个地方包含它。此外,我不确定是否遗漏了任何内容,但我对如何构造查询以允许游标分页感到有点困惑 原始查询:(运行此命令不会出错) 新查询:(出现“在帐户上找不到光标字段”错误) GraphQL包装器: export default graphql(Accoun

我正在尝试实现游标分页,并遵循文档中的示例,但我不断收到一个错误,即键入“query”时无法查询字段“cursor”

我知道Accounts架构中实际上不存在“cursor”字段……但从我从文档中读取的内容来看。。您必须在gql``查询中的某个地方包含它。此外,我不确定是否遗漏了任何内容,但我对如何构造查询以允许游标分页感到有点困惑

原始查询:(运行此命令不会出错)

新查询:(出现“在帐户上找不到光标字段”错误)

GraphQL包装器:

export default graphql(AccountsQuery, {
  props: ({ data: { loading, cursor, accounts, fetchmore } }) => ({
    loading,
    accounts,
    loadMoreEntries() {
      return fetchmore({
        query: AccountsQuery,
        variables: {
          cursor: cursor,
        },
        updateQuery: (previousResult, { fetchMoreResult }) => {
          const previousEntry = previousResult.entry;
          const newAccounts = fetchMoreResult.accounts;

          return {
            cursor: fetchMoreResult.cursor,
            entry: {
              accounts: [...newAccounts, ...previousEntry]
            },
          };
        },
      })
    }
  })
})(QuickViewContainer);

任何帮助都将不胜感激,以使光标分页工作

听起来好像服务器上没有实现
游标
字段。您的
帐户
类型需要有如下字段:

Account {
  cursor
  accountName
  accountId
}
对于如何进行光标分页的约定,您应该遵循标准中继规范。您可以在符合中继的GraphQLAPI中使用

这将使您的查询如下所示:

query {
  viewer {
    allAccounts {
      edges {
        cursor
        node {
          accountName
          accountId
        }
      }
    }
  }
}
每个边缘帐户都有一个对应于节点的游标,并将使用来自服务器的全局唯一不透明游标ID自动填充


希望这有帮助

我认为您缺少服务器中查询定义上的光标。看起来怎么样?
Account {
  cursor
  accountName
  accountId
}
query {
  viewer {
    allAccounts {
      edges {
        cursor
        node {
          accountName
          accountId
        }
      }
    }
  }
}