Apollo Clientことはじめ
はじめに
GraphQLクライアントのApollo Clientを使ってみたので、そのメモです。
環境構築
以下の記事を参考に進めます。
Create Next app
pnpm run dev
でローカルサーバーが起動します。
不要ファイルの削除
publicの画像や不要な設定を削除します。
Apollo Clientのインストール
Apollo Clientをインストールします。
単純な読み込みで動作確認します。
page.tsx
に書いた場合はサーバーで実行されるので、ターミナルに結果が表示されます。
useQueryの利用
Reactのコンポーネントで利用するために、useQuery
を利用します。
適当なところで ApolloProvider
でラップすることで、その下のコンポーネントで利用できます。
ブラウザのNetworkでリクエストが見たいのでクライアント側からリクエストを送るようにします。
page.tsxの先頭に 'use client'
を追加します。
TypeScript統合
TypeScript with Apollo Client を参考にTypeScriptと統合します。
また、私が生成したときは @graphql-typed-document-node/core
に依存したコードが生成されたので、それもインストールしておきます。
codegen.tsを以下の内容で作成します。URLのところは対象のEndpointに変更が必要です。
package.jsonにジョブを追加します。
実行します。
そうすると __generated__
ファルダが生成されます。
__generated__
の gql
を使うことで型が付きます。便利。