我正在使用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)
})
答案 0 :(得分:0)
我认为您的optimisticResponse
格式不正确。它应该是:
optimisticResponse: {
__typename: 'PanelViewMutation',
create: {
__typename: 'PanelView',
id: -1,
name: values.name,
panelId: panelId,
where: values.where,
sort: values.sort
}
}