ApolloGraphql&Nextjs中的删除操作不会重新获取查询数据。
创始人
2024-09-09 09:30:27
0

在delete mutation完成后,手动刷新相关查询的数据。

示例代码:

首先,在graphql代码中确保在delete mutation完成后返回被删除的对象ID。

type Mutation { deletePost(id: ID!): ID }

然后,在客户端代码中使用useMutation hook来执行delete mutation,并传递onCompleted参数来触发回调函数。

import { useMutation } from '@apollo/client'; import { DELETE_POST, GET_ALL_POSTS } from '../graphql';

const Posts = () => { const [deletePost] = useMutation(DELETE_POST, { refetchQueries: [{ query: GET_ALL_POSTS }] });

const handleDelete = (id) => {
  deletePost({
    variables: { id },
    update(cache, { data: { deletePost } }) {
      cache.modify({
        fields: {
          posts(existingPosts = [], { readField }) {
            return existingPosts.filter(postRef => {
              return deletePost !== readField('id', postRef);
            });
          }
        }
      });
    }
  });
}

return (
  <>
    {posts.map(post => (
      

{post.title}

))} )

}

在deletePost mutation完成后,我们手动更新posts查询的缓存,删除已删除的post。这将触发posts查询重新获取数据,以便更新UI。

相关内容

热门资讯

每日必备!扑克世界辅助下载(透... 每日必备!扑克世界辅助下载(透视辅助挂)-其实真的有挂(2021已更新);扑克世界辅助下载是一款非常...
透视ai(wepoke真的)外... 透视ai(wepoke真的)外挂透明挂辅助神器(辅助挂)辅助透视(2022已更新)(哔哩哔哩)1、每...
1分钟实锤!网趣沈阳家乡踢有挂... 1分钟实锤!网趣沈阳家乡踢有挂,闲来陕西能赢,细节方法(竟然有挂)是一款可以让一直输的玩家,快速成为...
玩家攻略!天天欢乐德州有挂吗(... 玩家攻略!天天欢乐德州有挂吗(透视软件挂)-确实是真的有挂(2020已更新);亲,这款天天欢乐德州有...
终于懂了!哈狗13道有外挂,雀... 终于懂了!哈狗13道有外挂,雀神小程序辅助买,德州教程(有挂教程);一、哈狗13道有外挂有挂的是的,...
透视最新!德州ai辅助神器软件... 透视最新!德州ai辅助神器软件(辅助挂)外挂辅助app(2023已更新)(哔哩哔哩),您好,德州ai...
揭秘(Wepoke安卓)外挂透... 自定义Wepoke安卓系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅助器,不管...
分享一款!智星德州有没有挂(透... 分享一款!智星德州有没有挂(透视软件挂)-确实是真的有挂(2022已更新);亲,这款智星德州有没有挂...
十分钟普及!福建兄弟十三水装外... 十分钟普及!福建兄弟十三水装外挂多少钱,小猪对对碰外挂,技巧教程(有挂规律);十分钟普及!福建兄弟十...
一分钟揭秘!中至九江小程序辅助... 您好,中至九江小程序辅助器这款游戏可以开挂的,确实是有挂的,需要了解加微【285696317】很多玩...