1. ホーム
  2. reactjs

[解決済み] Apollo graphQLのuseQueryとuseLazyQueryの違いは何ですか?

2022-03-01 03:03:55

質問

Apollo Reactのフックのドキュメントを見ていました。

そして、2つのクエリフックがあることを知りました。 useQueryuseLazyQuery

このページを読んでいて https://www.apollographql.com/docs/react/api/react/hooks/

この2つの違いは何か、どのような場合に使用するのか、どなたか教えてください。

どのように解決するのですか?

いつ useQuery がコンポーネントによって呼び出されると、その後にクエリがトリガされます。

しかし useLazyQuery が呼ばれた場合、その後にクエリを起動することはなく、代わりに手動でクエリを起動するために使用できる関数を返します。 これについては、このページで説明しています。 https://www.apollographql.com/docs/react/data/queries/#executing-queries-manually

<ブロッククオート

Reactがマウントしてレンダリングする際に useQuery フックを使用すると、Apollo Clientは指定されたクエリを自動的に実行します。 しかし、ユーザーがボタンをクリックするなど、別のイベントに反応してクエリを実行したい場合はどうすればよいでしょうか? その場合は useLazyQuery フックは、コンポーネントのレンダリング以外のイベントに応答してクエリを実行するのに最適です。 このフックは、ちょうど useQuery ただし、1つだけ重要な例外があります。 useLazyQuery が呼び出されても、すぐに関連する クエリです。 その代わり、結果タプルの中に関数を返すので、クエリを実行する準備ができたときにいつでも呼び出すことができます。