Commençons par une courte introduction en mots simples
Spécifications du relais GraphQl
- mécanisme de récupération d'un objet
- description de la façon de parcourir les connexions
- structure autour des mutations pour les rendre prévisibles
Connexions:
- une connexion est une collection d'objets avec des métadonnées telles que
edges
, pageInfo
...
PAGEINFO contiendra hasNextPage
, hasPreviousPage
, startCursor
,endCursor
hasNextPage
nous dira s'il y a plus d'arêtes disponibles, ou si nous avons atteint la fin de cette connexion.
Le tableau des enregistrements: les arêtes
- les bords vous offriront la flexibilité d'utiliser vos données (nœud)
- les bords vous aideront pour la pagination, Il y a graphql
GraphQLList
mais sans fonctionnalité telle que la pagination, uniquement avec un tableau d'objets (données)
Chaque bord a
- a
node
: un enregistrement ou une donnée
- a
cursor
: chaîne encodée en base64 pour aider à relayer avec la pagination
https://facebook.github.io/relay/graphql/connections.htm
Nœud:
- vous pouvez définir le nombre de nœuds que vous devez afficher à l'aide du relais
connectionArgs(first, last, after, before)
La pagination de relais fonctionne comme
Récupère tous les objets de la collection et renvoie une tranche basée sur les first/last
enregistrements x, utilisée via connectionArgs
after/before
servent à indiquer au serveur GraphQL le nombre de tranches (données) requises à l'aide du curseur du nœud
Il y a beaucoup de choses à considérer plus comme nodeDefinitions
, globalFieldId
,nodeInterfaces
https://github.com/graphql/graphql-relay-js#object-identification