React Apollo GraphQL命名变异options.update在使用optimisticUI时未被调用

时间:2017-11-29 07:35:30

标签: reactjs graphql react-apollo

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

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

导出默认

撰写(

graphql(

 SaveRuleMutation,

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

),    graphql(      UpdateRuleMutation,      {          名称:' UpdateRule',      }    ) )(面板);

以下是我的变异电话:

        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 个答案:

答案 0 :(得分:0)

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

        optimisticResponse: {
          __typename: 'PanelViewMutation',
          create: {                       
            __typename: 'PanelView',
            id: -1,
            name: values.name,
            panelId: panelId,
            where: values.where,
            sort: values.sort
          }
        }