web-dev-qa-db-fra.com

Apollo GraphQL React - Comment interroger sur un clic?

Dans Apollo React docs http://dev.apollodata.com/react/queries.html#basics il existe des exemples de récupération automatique lorsque le composant est affiché, mais je voudrais lancer une requête quand un bouton est cliqué. Je vois un exemple pour "extraire" une requête quand un bouton est cliqué, mais je ne veux pas qu'il interroge initialement. Je vois qu'il y a un moyen de appeler des mutations, mais comment appelez-vous des requêtes?

50
atkayla

Vous pouvez le faire en transmettant une référence à Apollo Client à l'aide du composant withApollo d'ordre supérieur, documenté ici: https://www.apollographql.com/docs/react/api/react -apollo.html # withApollo

Ensuite, vous pouvez appeler client.query sur l'objet passé dans, comme suit:

class MyComponent extends React.Component {
  runQuery() {
    this.props.client.query({
      query: gql`...`,
      variables: { ... },
    });
  }

  render() { ... }
}

withApollo(MyComponent);

Par curiosité, quel est le but de lancer une requête sur un événement clic? Peut-être y a-t-il une meilleure façon d'atteindre l'objectif sous-jacent.

61
stubailo