为什么apollo商店没有更新?

时间:2017-11-22 19:51:42

标签: reactjs redux graphql apollo react-apollo

我有以下查询

const ITEM_COMMENTS_QUERY = gql`
  query Search($id: UUID, $per_page: Int) {
    item(id: $id) {
      id
      comments(page: 1, per_page: $per_page) {
        edges {
          id
          author {
            id
            first_name
            last_name
          }
          content
        }
        total_count
      }
    }
  }
`;

以及以下突变

  const CREATE_COMMENT_MUTATION = gql`
  mutation create_comment($id: UUID!, $content: String!) {
    create_comment(id: $id, content: $content, type: COMMENT_TYPE_ITEM) {
      id
      ... on ItemComment {
        item {
          id
          comments(page: 1, per_page: 100) {
            edges {
              id
              author {
                id
                first_name
                last_name
              }
              content
            }
          }
        }
      }
    }
  }
`;

并且响应正确,但是apollo store不会更新。 (我有dataIdFromObject:elm => elm.id

response

1 个答案:

答案 0 :(得分:1)

Apollo客户端仅在更新突变时更新商店。因此,当您使用创建或删除突变时,您需要告诉Apollo Client如何更新。我原本以为商店会自动更新但不会......

在更新/删除更改后,您需要使用updaterefetch命令 - see documentation更新商店。这是update示例example here