Articles
記事
リフェッチかサブスクリプションか(GraphQL)
GraphQL素人だからChatGPTに聞いてみたメモ
GraphQL素人なので、Mutationした後に、Queryのキャッシュって更新されるのか?
と思って調べてみたら、されないとのこと。
キャッシュ手動更新するのは複雑になりそうなので、他の方法として
- ミューテーション終わりでリフェッチ
- サブスクリプションを使う
のどっちがいいのか分からなかったので、ChatGPTに聞いてみた。
ChatGPT様の回答

結論
- ボタンクリック、ページリロードなどユーザーアクションに基づくデータ更新なら「リフェッチ」←今回
- チャットアプリ、ストックティカーなどサーバー側イベントでリアルタイムデータ更新したいなら「サブスクリプション」
そりゃそうか。
下記のように、useMutationの後ろにリフェッチしたいクエリーを指定するだけでいいのか、ほうほう。
GraphQLいいなぁ…
const [addQuest] = useMutation(ADD_QUEST, {
refetchQueries: [{ query: GET_QUESTS }],
});