当查询包含 Apollo 的边和节点时如何更新查询?

How to updateQueries when the Query contain edges and node with Apollo?

我在我的 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]
           }
         }
       });
     }
   }
 });

如何正确更新这个查询?

我认为你应该试试:$unshift: [{node: addedReview}]。取决于您的 addCodeReview 突变。