Quand dois-je utiliser une connexion Relay GraphQL et une liste simple?

Dans Relay GraphQL, les connexions et les listes ressemblent à des tableaux, mais elles ont des fonctionnalités différentes. Quand devrais-je utiliser chacun?

Les liaisons

  • Plus puissant et flexible que des listes simples.
  • Pagination de support (avant et arrière), avec des curseurs.
  • Prise en charge de la mutation fine (par exemple, RANGE_DELETE , NODE_DELETE , NODE_DELETE , comme décrit dans le guide ).
  • Nécessite un first ou un last argument pour limiter la taille du jeu de résultats.
  • Possède un champ d’ edges qui permet de localiser des données spécifiques à chaque bord.
  • Un concept plus lourd, nécessitant plus de travail à définir dans le schéma.

Des listes

  • Simple et léger
  • Pas de support pour la pagination (la liste entière est toujours retournée).
  • Aucune fonction de mutation spéciale pour append, append, etc. ( bien que ce soit une fonctionnalité requirejse ).

Lequel utiliser?

  • Chaque fois que vous avez besoin de pagination, vous devez utiliser une connexion.
  • Si vous avez besoin d’un contrôle précis des mutations, vous pouvez choisir d’utiliser une connexion, même si vous n’avez pas besoin de la pagination.
  • Si vous souhaitez que tous les éléments d’une connexion, vous pouvez utiliser d’ first avec un grand nombre.
  • Si vous souhaitez exposer une liste restreinte avec un effort minimal, utilisez une liste simple.