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.