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
GraphQLListmais 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/lastenregistrements 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