当前位置: 首页 > 知识库问答 >
问题:

如何从单个反应组件调用多个图形突变?

姬振
2023-03-14

目前,我有一个react组件,需要在不同的按钮点击时调用同一组件的2个突变。

我正在使用react-apollo从react组件与graph ql服务器进行交互。

如果我使用这个。道具。mutate要调用单击时的突变事件,没有选项/参数指定要调用的突变。

https://www.apollographql.com/docs/react/essentials/mutations.html

如果我直接使用这个。道具。mutate({变量:{…}}}) 它总是调用导入到文件中的第一个突变。

共有2个答案

洪开济
2023-03-14

您可以使用react apollo库中的“compose”函数,使多个突变可以在组件内部调用。

import { compose, graphql } from "react-apollo";

const XComponent = {
...
}

const XComponentWithMutations =  compose(
    graphql(mutation1, {
    name : 'mutation1'
  }),
    graphql(mutation2, {
    name: 'mutation2'
  })
)(XComponent);

然后在XComponent中,可以同时调用

props.mutation1({variables: ...})

props.mutation2({variables: ...})
盛嘉
2023-03-14

灵感: https://github.com/sysgears/apollo-universal-starter-kit/blob/master/packages/client/src/modules/post/containers/PostComments.jsx https://github.com/sysgears/apollo-universal-starter-kit/blob/master/modules/post/client-react/containers/PostComments.web.jsx

通过属性,您可以将突变/闭包作为命名(addCommenteditcoment)属性传递。组合查询、多个突变、用一个组件进行重复(如果需要)。

更新:

同一项目的其他解决方案:https://github.com/sysgears/apollo-universal-starter-kit/blob/master/modules/user/client-react/containers/UserOperations.js

 类似资料:
  • 在一个html页面中,我有一个选择菜单(a, b, c, d)和一个条形图(a, b, c, d)。我想做的是在选择菜单中选择的条形图中突出显示相应的条形图。

  • 问题内容: 我有一个包含一个按钮的标题组件,并且我希望该按钮在单击时显示另一个组件(模式页面)。 我可以做这样的事情: 这是我的标头组件: 这是我的模态页面组件,单击其他组件上的按钮时应显示该组件页面: 用于模态的库:https : //github.com/marcio/react-skylight 问题答案: 更像这样: 确保在子组件上公开一个方法: 基本上,这是在将SkyLight的方法包装

  • 问题内容: 在我的React应用程序中,我有一个网格。用户可以一次选择许多网格行,然后单击按钮以对选定的网格行执行批量操作。 在服务器端,单击批量操作后,我有一个脚本要针对每个选定的行执行(为了简化问题,我在下面的示例中为每个选定的行调用“ jsonplaceholder.typicode.com”)按钮。单击批量操作按钮时,将在操作创建器中获得selectedRows,在该操作器上遍历selec

  • 问题内容: 我是JFreeChart的新手,我正在尝试看看什么动作可以做什么。 在我的图表中,我只有一个系列,并且我希望-根据值设置-为柱形设置其他颜色。例如 : 这是我到达的地方,我被困在这里,真的不知道要去哪里。我在文档中看到Paint是一个接口,但是没有实现此接口的类都没有提供setXXX()方法。所以,我的两个问题是: 如何为单个条形设置颜色? 如何将其应用于图表? 问题答案: 您需要创建

  • 我有多个数据帧,我想在分组条形图视图中的同一个图上绘制它们。 这是两个非常小的数据帧,我想在同一个图中一起绘制。 数据帧是: 我想画一个像这样的图: 我尝试这样做,只绘制一个图形: 我也试过: 结果只是图片中单个数据帧的数据,而不是两个数据帧的两个数据。请注意,只有两个数据帧的标题出现在同一张图片中,数据仅来自单个独立的数据帧。

  • 我试图使用jFreechart生成两个图,每个图有12个图(在jFreechart中称为系列)。然而,有些图表被简单地跳过了!我知道我在这里有同步问题,并试图使用用户@trashgod在这里提供的方法,但我失败了。我知道我使用摇摆工人的方式是错误的!我不知道怎么修好它 每个图形应该包含10个平行的水平直线的图形。正如你在所附的图像中看到的,一些线条丢失了。这两个数字也必须相同(事实并非如此)。在实