7 votes

Apollo GraphQL : Plusieurs requêtes dans un seul composant ?

J'ai un composant qui doit interroger deux tables totalement distinctes. À quoi doivent ressembler le schéma, la requête et le résolveur dans ce cas ? J'ai fait des recherches sur Internet, mais je n'ai pas encore trouvé d'exemples. Merci d'avance pour toute information.

UPDATE : Sur Slack, je vois qu'il y a peut-être un moyen d'utiliser compose à cette fin, par exemple :

export default compose(
  graphql(query1, 
  ....),
  graphql(query2, 
  ....),
  graphql(query3, 
  ....),
  withApollo
)(PrintListEditPage)

Existe-t-il un moyen d'avoir plusieurs déclarations de ce type ?

const withMutations = graphql(updateName, {
  props({ mutate }) {
    return {
      updatePrintListName({ printListId, name }) {
        return mutate({
          variables: { printListId, name },
        });
      },
    };
  },
});

...qui précèdent l'appel à export default compose ?

19voto

Keith Lear Points 31

Le site graphql prend un deuxième argument facultatif qui vous permet d'aliaser le nom de la propriété transmise. Si vous avez plusieurs mutations, vous pouvez utiliser la fonction name propriété à renommer mutate si nécessaire :

import { graphql, compose } from 'react-apollo'

export default compose(
  graphql(mutation1, { name: 'createSomething' }),
  graphql(mutation2, { name: 'deleteSomething' }),
)(Component)

Pour plus de détails, voir l'API complète .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X