1

我在我的 React 应用程序上使用 react-apollo 来请求 GraphQL API。我想添加一个项目并在此添加后更新我的查询。

该项目已正确添加,但我无法更新我的查询。我必须刷新我的页面才能看到我的新项目。我遵循本指南

这是我的查询

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

如何正确更新此查询?

4

1 回答 1

1

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

于 2016-11-25T00:15:26.723 回答