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。

相关内容

热门资讯

三分钟了解!微信老友广东辅助器... 三分钟了解!微信老友广东辅助器,朋朋政和麻将为什么一直输,详细器(有挂教程)一、朋朋政和麻将为什么一...
推荐一款!菠萝神辅助器app,... 推荐一款!菠萝神辅助器app,雀友会广东潮汕辅助透视,详细器(新版有挂)1、完成雀友会广东潮汕辅助透...
必备科技!微信小程序微乐辅助器... 必备科技!微信小程序微乐辅助器,老友麻将开挂辅助器,详细神器(有挂总结)1、让任何用户在无需微信小程...
玩家必看教程!jj斗地主麻将外... 玩家必看教程!jj斗地主麻将外挂,欢乐达人正版脚本,详细软件(有挂详细)1、完成欢乐达人正版脚本辅助...
详细说明!微乐河南小程序微乐辅... 详细说明!微乐河南小程序微乐辅助脚本,蛮王大厅辅助插件,详细工具(今日头条)该软件可以轻松地帮助玩家...
专业讨论!传送屋软件辅助,皮皮... 专业讨论!传送屋软件辅助,皮皮透视辅助软件工具,详细软件(有挂秘诀)1、超多福利:超高返利,海量正版...
查到实测辅助!途游休闲铺破解版... 查到实测辅助!途游休闲铺破解版,789大菠萝可以控制吗,详细挂(有挂技巧)该软件可以轻松地帮助玩家将...
盘点几款!奇迹掌趣辅助,科乐填... 盘点几款!奇迹掌趣辅助,科乐填大坑破解版安卓,详细工具(真是有挂)1、完成科乐填大坑破解版安卓有辅助...
避坑细节!悟空大厅辅助器,广东... 您好,广东闲来辅助视频这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多玩...
今日头条!打两圈辅助,边锋辅助... 今日头条!打两圈辅助,边锋辅助器小程序微信,详细器(有挂功能)1、边锋辅助器小程序微信免费辅助多个强...