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

React Apollo GraphQL命名的突变选项。Update使用OptimistIUI时未调用

戈念
2023-03-14

我使用React Apollo GraphQL命名突变来调用具有特定名称的突变,只是因为我在同一个组件中有多个突变。当我使用Options.update更新缓存时,不会调用更新。

我的多重突变代码是这样的:

 SaveRuleMutation,

 {
     name: 'SaveRule',
     options: {
        update: (proxy, data) => {
           //Not getting invoked
        }
     }
 }

下面是我的突变调用:

        SaveRule({
            variables: { 
                name: values.name,
                panelId: panelId,
                where: values.where,
                sort: values.sort
            },
            optimisticResponse: {
               panelView:{
                  __typename: 'PanelViewMutation',
               }
               __typename: 'PanelView',
               create: {                       
                   id: -1,
                   name: values.name,
                   panelId: panelId,
                   where: values.where,
                   sort: values.sort
              },
           },
        })
        .then(function(ruleObj){
            console.log('ruleObj', ruleObj)
        })
        .catch(function(error){
            console.log('error', error)
        })

共有1个答案

松钊
2023-03-14

我认为您的OptimisticResponse格式不正确。应该是:

        optimisticResponse: {
          __typename: 'PanelViewMutation',
          create: {                       
            __typename: 'PanelView',
            id: -1,
            name: values.name,
            panelId: panelId,
            where: values.where,
            sort: values.sort
          }
        }
 类似资料:
  • 我的变异查询: 查询变量: GraphQL模式(突变定义): 我尝试同时使用GraphiQL接口和apollo-client来发送带有变量的请求,但出现了相同的错误。有什么想法吗?

  • 问题内容: 我尝试使用PyInstaller在Windows 7下编译Python项目。该项目运行正常,没有问题,但是当我尝试对其进行编译时,结果将不起作用。尽管在编译过程中没有收到警告,但目录中的文件中有很多警告:warnmain.txt 我不是很了解这些警告,例如“没有名为numpy.pi的模块”,因为它不是模块而是数字。我从未尝试导入。我确实导入并明确。另外,我正在使用PyQt4。我认为错误

  • 问题内容: 我有一个JavaScript变量,其中包含JavaScript函数的名称。通过使用$ .ajax等加载并放置在页面上,此功能存在于页面上。 谁能告诉我如何调用变量中命名的javascript函数? 该函数的名称位于变量中,因为用于加载页面片段(将其插入到当前页面中)的URL包含要调用的函数的名称。 我愿意就如何实施此解决方案提出其他建议。 问题答案: 我会避免评估。 要解决此问题,您应

  • 为什么using指令在包含在匿名命名空间中时表现得好像出现在全局范围?

  • 我想用命名参数实现一个UPDATE SET语句?可能吗? 对于这样的对象: 这是我的猜测: 对象字段可能会根据发送的请求而有所不同,因此我不想对中的参数进行“硬编码”。

  • 我的映射器: parsedunsignedshort 所以你可以在上面看到触发器在“源”中是一个ParsedUnsignedShort,在“目标”中是一个Long。在我得到这个的时候,有一个名字冲突: 错误:(42,6)Java:无法将属性“cat.tmatic.mh.domain.pl6xx.ParseDunSignedShort触发器”映射到“java.lang.Long触发器”。考虑声明/实