Apollo client 未调用UpdateSeries

Apollo client 未调用UpdateSeries,apollo-client,Apollo Client,为什么没有人给我打电话?我想我正在做的正是文档所说的,并且已经将我的代码与其他类似的问题进行了比较。我错过了什么 软件包版本: apollo-angular@0.13.0 apollo-client@1.0.4 我的代码: //same es6 module, above my class definition const RecentSearchesQuery = gql` query recentSearch { recentSearch { id qu

为什么没有人给我打电话?我想我正在做的正是文档所说的,并且已经将我的代码与其他类似的问题进行了比较。我错过了什么

软件包版本:

apollo-angular@0.13.0
apollo-client@1.0.4
我的代码:

//same es6 module, above my class definition
const RecentSearchesQuery = gql`
  query recentSearch {
    recentSearch {
      id
      query
      lastUpdated
      userId
    }
  }
`;

const RecentSearchesMutation = gql`
  mutation recentSearchSave($query:String!) {
    recentSearchSave(query: $query)
  }
`;

...

//my class method
updateRecentSearches(query: string) {
const updateQueries: MutationQueryReducersMap = {
  RecentSearch: (prev: Object, {mutationResult}) => {
    //execution doesn't get here
    debugger;
    alert('updateQueries handler in RecentSearchesMutation mutation for recentSearch');
    ...
  }
};

return new Promise((resolve, reject) => {
  this.apollo.mutate<any>({
    mutation: RecentSearchesMutation,
    variables: {query},
    updateQueries
  })
  .subscribe({
    next: ({data}) => {
      resolve();
    },
    error: (error: ApolloError) => {
      reject(error);
    }
  });
});
//相同的es6模块,在我的类定义之上
const RecentSearchesQuery=gql`
查询最近的搜索{
最近的研究{
身份证件
查询
最近更新
用户ID
}
}
`;
const RecentSearchesMutation=gql`
最近的搜索保存($query:String!){
recentSearchSave(查询:$query)
}
`;
...
//我的课堂教学法
UpdateRecentSearchs(查询:字符串){
常量updateQueries:mutationQueryReducesMap={
最近搜索:(prev:Object,{mutationResult})=>{
//这里没有死刑
调试器;
警报(“recentSearch中的UpdateSeries处理程序recentSearch的突变”);
...
}
};
返回新承诺((解决、拒绝)=>{
这个,阿波罗,变异({
突变:最近的研究突变,
变量:{query},
更新程序
})
.订阅({
下一步:({data})=>{
解决();
},
错误:(错误:错误)=>{
拒绝(错误);
}
});
});

我从来没有使用过
updateQueries
,但现在推荐的方法是使用
update
(也是一个变异选项)。使用
update
对我很有效,本文非常有帮助: