可以通过使用fetchMore或updateQuery方法来代替refetchQueries,以避免多次触发refetchQueries方法。以下是相应的代码示例:
// 使用 fetchMore 方法
this.props.data.fetchMore({
  variables: { offset: newOffset },
  updateQuery: (prev, { fetchMoreResult }) => {
    if (!fetchMoreResult) return prev;
    return Object.assign({}, prev, {
      posts: [...prev.posts, ...fetchMoreResult.posts]
    });
  }
});
// 使用 updateQuery 方法
this.props.mutate({
  variables: { input: newPost },
  update: (store, { data: { createPost } }) => {
    const data = store.readQuery({
      query: ALL_POSTS_QUERY,
      variables: { offset: 0, limit: 10 }
    });
    data.posts.unshift(createPost);
    store.writeQuery({
      query: ALL_POSTS_QUERY,
      variables: { offset: 0, limit: 10 },
      data
    });
  }
});