前提・実現したいこと
React+Typescript+ApolloClientでWebアプリケーションを作成しています。
GraphQLのデータ取得先はShopifyという外部サービスによって用意されたエンドポイントです。
ApolloClientを利用してmutationを発行するとレスポンスの内容がキャッシュに保存されますが、その取得方法がわかりません。
該当のソースコード
typescript
1import React, { FC } from "react"; 2import { gql, useMutation } from "@apollo/client"; 3 4const createTodo = gql` 5 mutation createTodo($todo: string!) { 6 createTodo(input: $todo) { 7 todo { 8 id 9 todo 10 } 11 } 12 } 13`; 14 15const test: FC = () => { 16 const [createTodo] = useMutation(createTodo); 17}
上記のようなコードを実行した際、キャッシュにはmutationのレスポンスとして発行したtodoのid,設定したtodoの内容が保存されます。
その内容をキャッシュから取得する方法を知りたいです。
試したこと
以下のようなコードで取得を試みましたができませんでした。
typescript
1import React, { FC } from "react"; 2import { gql, useApolloClient } from "@apollo/client"; 3 4const readChache = gql` 5 { 6 todo { 7 id 8 todo 9 } 10 } 11`; 12 13const client = useApolloClient(); 14console.log(client.readQuery({query: readChache}));
上記は全てサンプルのソースですが、実際に取り出したいデータをApolloClientDeveloperToolsから見た時の画像も添付しておきます。
日本語、英語問わずこれに関連しそうな記事を読み漁っていますが解決方法が未だわかりません。
どなたかご教示いただけると大変助かります。
宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/01 09:08