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
对我很有效,本文非常有帮助: