web-dev-qa-db-ja.com

Apollo GraphQL React-クリック時にクエリする方法

Apollo React docs http://dev.apollodata.com/react/queries.html#basics では、コンポーネントが表示されたときに自動的に取得する例がありますが、 dボタンがクリックされたときにクエリを実行したい。ボタンがクリックされたときにクエリを「再」フェッチする例がありますが、最初はクエリを実行したくありません。突然変異を呼び出す方法はありますが、クエリはどのように呼び出しますか?

50
atkayla

ここで文書化されているように、withApollo高次コンポーネントを使用してApolloクライアントに参照を渡すことでそれを行うことができます。 https://www.apollographql.com/docs/react/api/react- apollo.html#withApollo

その後、次のように、渡されたオブジェクトでclient.queryを呼び出すことができます。

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

  render() { ... }
}

withApollo(MyComponent);

好奇心から、クリックイベントでクエリを実行する目的は何ですか?おそらく、根本的な目標を達成するためのより良い方法があります。

61
stubailo