如何在 apollo 客户端中将 Mutations 链接在一起

2023-11-22

我的状态中存储了一堆信息,我需要使用突变将其传递到我的 graphQL 服务器,但我需要在调用下一个突变之前使用每个突变的结果,因为我需要:

  • 在我的数据库中创建一个新对象
  • 使用为该对象生成的 id 创建另一个对象
  • 修改原对象,存储第二个对象生成的id

我注意到 apollo Mutation 组件有一个 onCompleted 回调,但我不知道如何使用此回调来触发另一个突变,也不知道这是否是解决我的问题的正确方法。我还考虑过批量发送我的突变以一次发送所有突变,但这似乎也不是解决方案。任何帮助,将不胜感激


正如您所提到的,解决该问题的独特方法是对所有突变进行批处理,请查看问题相关!

实际上,编写它们并没有那么糟糕,你可以这样做:

const handleClick = async (mutation1Fn, mutation2Fn, mutation3Fn) => {
  const data1 = await mutation1Fn()
  const data2 = await mutation2Fn()
  const data3 = await mutation3Fn()
}

const Mutations = () => (
  <Composer
    components={[
      <Mutation mutation={mutation1} />,
      <Mutation mutation={mutation2} />,
      <Mutation mutation={mutation3} />
    ]}
  >
    {([mutation1Fn, mutation2Fn, mutation3Fn]) => (
      <button
        onClick={() => handleClick(mutation1Fn, mutation2Fn, mutation3Fn)}
      >
        exec!
      </button>
    )}
  </Composer>
)

如果您遇到困难,请告诉我!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 apollo 客户端中将 Mutations 链接在一起 的相关文章

  • yup.js 验证数字字段大于同级字段,或者可以为空

    我正在使用 Yup js 来验证一些表单字段 我有两个整数字段 Year Built Year Renovated Year Built是必填字段 Year Renovated is not 不过 装修年份可以留空如果有一个值它应该大于建造
  • 以编程方式填写reactjs表单

    我正在编写一个用户脚本 但无法填写由reactjs制作的表单 我的代码 document querySelector id username value email protected cdn cgi l email protection
  • 如何在react-bootstrap中禁用表单提交的

    在下面的代码片段中 我有许多文本类型的输入表单 如果用户点击 我似乎会得到相同的合成事件 就像他们按下提交按钮一样 我想忽略作为表单提交 只允许一个人按下 提交 按钮 我删除了一些表单组以减少示例 在所有情况下 按钮或 ENTER 键 e
  • 如何让 Django 和 ReactJS 协同工作?

    New to Django and even newer to ReactJS I have been looking into AngularJS and ReactJS but decided on ReactJS It seemed
  • 如何纠正流警告:解构(缺少注释)

    我正在编写一个小型 React Native 应用程序 并且正在尝试使用 Flow 但我无法在任何地方真正获得有关它的正确教程 我不断收到错误 destructuring Missing annotation 有关 station 这段代码
  • 在 ReactJS 中创建动态目录

    我有一个组件 它代表一个页面 其中有多个SectionHeader 组件作为该页面的子组件 我想通过检查 Page 的子项 SectionHeaders 来动态创建目录
  • 如何将 SPA 嵌入 ASP.NET Core 库并从路径提供服务

    Szenario 我想构建一个 aspnetcore 库 模块includes一个小的SPA前端 IE html js css 文件应与 dll 一起提供 SPA 应从特定路径提供服务 即 some module does not需要可配置
  • IE 中未定义“代理”

    我通过 React Node 构建了一个 Excel 插件Umi https umijs org 我们已经实施了我们的身份验证系统 身份验证在 Chrome 和 Safari 中有效 我刚刚意识到它在 IE11 中不能很好地工作 F12表明
  • 如何在appendchild方法javascript或reactjs中使用文件夹路径中的svg?

    我是 ReactJS 的新手 我坚持将 svg 元素附加到 div 元素 我想实现什么 我有一个动态创建的 div 元素 如下所示 constructor props super props this element document cr
  • Next.js - 如何使用 Provider 来包装路由并使用 Context 和 Hooks

    我在 create react app 中编写了类似于以下的代码 我想知道 next js 的等效代码 下面的代码是我尝试拥有一个可用于所有页面的全局上下文 提供者包装链接 我没有收到任何错误 问题出在里面about当我期望上下文状态时 页
  • React:在哪里扩展对象原型

    我使用创建了一个纯 React 应用程序创建反应应用程序 https github com facebookincubator create react app 我想延长String类并在一个或多个组件中使用它 例如 String prot
  • React:设置 State 或设置 Prop 而无需重新渲染

    Problem 目前 我有一个LoginForm具有 成功 处理函数的组件handleOnSuccess 然后将其链接到父组件onTokenUpdate由 令牌更新 处理函数定义的属性handleUpdateToken 问题是setStat
  • 在 React 应用程序中简单连接到 mongodb

    我使用 create react app 创建了简单的反应应用程序 这个应用程序包含表单 验证和引导程序 没有什么花哨的东西能像魅力一样发挥作用 我还注册了 mongo 以获得免费集群 以便我可以发送一些数据 所以我有这个网址 mongod
  • 设计 React Hooks 可防止 React-hooks/exhaustive-deps 警告

    我正在设计一个钩子 仅当钩子依赖项发生变化时才获取数据 它按预期工作但我收到了 linter 警告 React Hook useEffect was passed a dependency list that is not an array
  • React/Redux bundle.js 太大

    我有一个小型的 React 项目 Webpack生成的bundle js大小为6 3Mb 如何将大小减小到 github webpack config js module exports devtool inline source map
  • AppBar 在 React 路由之间消失

    我有一个几乎可以工作的简单反应路由项目 我有一个AppBar and a Drawer 使用穆伊 抽屉里有三个项目 它们将重新路由应用程序 我的路由工作正常 但我遇到的问题是AppBar 因此一旦您进入某个页面 应用程序其余部分的导航就不再
  • 如何测试 google.maps.Geocoder?

    你好 我正在尝试编写一个 简单 测试来检查反应类组件状态更改 具体来说 我正在测试如果 Google 成功对我发送的某些字符串 地址 进行地理编码 lat 纬度 和 lng 经度 状态是否会发生变化 这是我想测试的示例 i e the la
  • GraphQL Args 错误:参数类型必须是输入类型,但得到: function GraphQLObjectType(config) {

    服务器启动时 node index js 我的 GraphQL NodeJS 服务器出现以下错误 错误 Query payment data 参数类型必须是输入类型 但得到 函数 GraphQLObjectType config class
  • 在玩笑中运行普通转换后如何转换模块

    用笑话测试 React 组件 其中一些组件使用 OpenLayers ol 软件包 v5 2 0 在 ol 包 v4 中 我应用了 transformIgnorePatterns 来转换 ol 包 jest transformIgnoreP
  • 在 webpack 2.x 中使用 autoprefixer 和 postcss

    如何使用autoprefixer使用 webpack 2 x 以前 它曾经是这样的 module loaders test scss loader style css sass postcss postcss gt return autop

随机推荐

  • Flutter:从 firestore 延迟加载数据

    注意 我已经看到了关于 ListView 的延迟加载的答案 但这些是针对自定义 API 的 而不是针对 firestore 数据库的 我有一个书籍摘要应用程序 应用程序从我的Firebase Firestore数据库 然后使用ListVie
  • VS2010:输出中的最小构建日志和日志文件中的详细日志

    在 Visual Studio 2010 中 我们在 工具 选项 项目和解决方案 构建并运行 在互联网上找不到正确的图像 下有两个用于记录 MSBuild 的选项 MSBuild 项目构建output冗长 和 MSBuild 项目构建log
  • Vue:何时在输入元素中使用 @keyup.native

    我有一个 Vue 组件 an
  • Laravel 已安装,但连接已重置/未收到数据

    我使用 Digital Ocean 作为我的服务器 我的网站上有一个运行 Laravel 的 Ubuntu Droplet 但现在我正在制作一个 项目后端 其中只有一个包含测试项目的文件夹 这些项目本身都是 Laravel 项目 它们不链接
  • 通常在博客的首页上有几篇最近的博客文章 每篇博客文章都是一个
  • 如何向 WordPress 页面添加元框

    我想为页面制作这段代码 add action add meta boxes meta box video function meta box video add meta box video meta box id Video Embed
  • 在java中获取正确的本地时间(日历)

    我用这个方法来获取当地时间 Calendar cal Calendar getInstance String time new SimpleDateFormat dd MMM yyyy HH mm ss format cal getTime
  • 确认 Apache Passenger 部署:模型中的 Rails 访问会话

    我正在使用它来访问模型中的会话 http www zorched net 2007 05 29 making session data available to models in ruby on rails 有人能确认它也适用于 Apac
  • 当 DISPLAY 未定义时使用 matplotlib 生成 PNG

    我正在尝试将 networkx 与 Python 一起使用 当我运行该程序时 出现此错误 有什么遗漏吗 usr bin env python import networkx as nx import matplotlib import ma
  • JAXB 在 Java 5 下工作吗?

    使用 Maven 构建我得到 包 javax xml bind annotation 不存在 我需要什么才能使 JAXB 与 Java 5 配合使用 JAXB API 捆绑在 JDK1 6 中 但在 JDK 我有一个用 JDK1 6 编写的
  • 在 numpy 中使用屏蔽数组进行索引

    我有一些代码尝试在另一个数组指定的索引处查找数组的内容 该索引可能指定超出前一个数组范围的索引 input np arange 0 5 indices np array 0 1 2 99 我想做的是这样的 打印输入 索引 并得到 0 1 2
  • 改进的命名策略在 Hibernate 5 中不再起作用

    我有简单的 spring jpa 配置 其中配置了 HibernateImprovedNamingStrategy 这意味着如果我的实体类有一个变量userName 那么 Hibernate 应该将其转换为user name用于查询数据库
  • 在 QRubberband 上实现调整大小手柄? QSizeGrip 相关吗?

    我想让我的QRubberband实例用户可调整大小 我见过这个问题here但没有解决办法 用例是 用户可以在照片上拖出选择框 然后通过拖动来进行微调QRubberband边距以更改几何图形 或通过拖动选择来重新定位现有几何图形 我已经实现了
  • 在IOS 11中,后台的DeviceMotion停止工作

    我的应用程序在后台报告并记录位置 高度 旋转和加速度计数据 DeviceMotion 这在 ios 10 3 3 上运行良好 在 iOS 11 上 设备锁定时我无法再访问运动数据 不过 高度数据和位置数据仍在传输到控制台 IOS 11 中是
  • Excel 数据透视表 - 多列

    我正在尝试使用以下数据在 Excel 中创建数据透视表 我试图得出的最终结果 使用枢轴 是这样的摘要 但是我不知道如何让 Excel 计算 添加 考虑所有列 我可以为每个单独的字段 列创建一个数据透视表 但无法弄清楚如何将数据编译在一起 请
  • Lua 中元方法的继承

    我非常喜欢 programming in lua 16 1 16 2 中如何描述面向对象编程 http www lua org pil 16 1 html http www lua org pil 16 2 html 并愿意遵循这种方法 但
  • 如何在flutter中获取唯一的设备ID?

    在 Android 中我们有 Settings Secure ANDROID ID 我不知道 iOS 的等效项 有没有flutter插件或者一种方法可以在flutter中获取Android和IOS的唯一设备ID 空安全代码 Use 设备信息
  • UML 图表在“现实世界”中使用的频率如何? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 几乎我的每一门编程课程都使用了 UML 但没有人真正解释过它何时何地可以在专业环境中使用 是否对项目中的每个文件都执行了此操作 或者是否有一些您何时需要使用它的经验法则 另外 它更常见的是
  • 如何在 Javascript 中检测 ALT 键被按下?

    We are creating a web user interface that looks like a desktop window Now we need to handle the Alt key When Alt key is
  • 如何在 apollo 客户端中将 Mutations 链接在一起

    我的状态中存储了一堆信息 我需要使用突变将其传递到我的 graphQL 服务器 但我需要在调用下一个突变之前使用每个突变的结果 因为我需要 在我的数据库中创建一个新对象 使用为该对象生成的 id 创建另一个对象 修改原对象 存储第二个对象生