我在我的React应用程序上使用react-apollo来请求GraphQL API。我想在添加后添加一个项目并更新我的查询。
项目已正确添加但我无法更新我的查询。我必须刷新页面才能看到我的新项目。我关注this guide。
这是我的查询:
export const allCodeReviews = gql`
query allCodeReviews {
allCodeReviews {
edges {
node {
id
reference
reviewer
revisionDate
redmineUrl
flow {
id
name
}
}
}
}
}
这是我的突变,它添加了我的新项目:
this.props.mutate({
variables: {
"reviewer": "john",
"revisionDate": "2016-11-11",
"flow": "foo",
"redmineUrl": "foo.com",
"reference": "#bar"
},
updateQueries: {
allCodeReviews: (prev, {mutationResult}) => {
const addedReview = mutationResult.data.addCodeReview.codeReview;
console.log(addedReview);
console.log(prev);
return update(prev, {
allCodeReviews: {
edges: {
$unshift: [addedReview]
}
}
});
}
}
});
如何正确更新此查询?
答案 0 :(得分:1)
我认为你应该尝试:$unshift: [{node: addedReview}]
。取决于您的addCodeReview
突变。