Estou consumindo um determinado ponto de extremidade GraphQL e, embora esteja fornecendo uma estrutura JSON limpa como uma consulta, quando obtenho os resultados, obtenho as tags "bordas" e "nós". Parece que está poluindo meus dados sem nenhum benefício óbvio. Por que ele existe e é possível se livrar deles para uma análise mais rápida e simples dos dados?
100
Respostas:
Vamos começar com uma breve introdução em palavras simples
Especificações do relé GraphQl
Conexões:
edges
,pageInfo
...pageInfo conterá
hasNextPage
,hasPreviousPage
,startCursor
,endCursor
hasNextPage
nos dirá se há mais arestas disponíveis ou se chegamos ao fim desta conexão.A matriz de registros: arestas
GraphQLList
mas sem nenhuma funcionalidade como paginação, apenas com array de objetos (dados)Cada borda tem
node
: um registro ou um dadocursor
: string codificada em base64 para ajudar a retransmitir com paginaçãohttps://facebook.github.io/relay/graphql/connections.htm
Nó:
connectionArgs(first, last, after, before)
A paginação de retransmissão funciona como
Busca todos os objetos na coleção e retorna uma fatia com base
first/last
nos registros x, usados por meio de connectionArgsafter/before
são usados para indicar ao servidor GraphQL o número de fatias necessárias (dados) usando o cursor do nóHá muito mais coisas a considerar
nodeDefinitions
, comoglobalFieldId
,nodeInterfaces
https://github.com/graphql/graphql-relay-js#object-identification
fonte
each node will have a cursor
, em vez dissoeach edge will have a cursor
, consulte blog.apollographql.com/…