如何将多个查询传递到 apollo/graphql 中的 refetchQueries

How to pass multiple queries into refetchQueries in apollo/graphql

我有一个名为 deleteSong 的突变。我想知道突变通过后如何将多个查询传递给 refetchQueries?

 this.props
  .deleteSong({
    variables: { id },
    refetchQueries: [{ query: fetchSongs }] //<-- I only know how to pass 1 query
  })
  .then(() => {})
  .catch(err => {
    this.setState({ err });
 });

Apollo 客户端文档对 refetchQueries 的描述如下:一个允许您指定在发生突变后要重新获取哪些查询的函数。因此,您应该可以将单个或多个查询传递给 refetchQueries().

基本上应该是:

 this.props
  .deleteSong({
    variables: { id },
    refetchQueries: [{ query: FETCH_SONGS }, { query: FETCH_FOLLOWERS }]
  })
  .then(() => {})
  .catch(err => {
    this.setState({ err });
 });

FETCH_SONGFETCH_FOLLOWERS 应该由 graphql-tag 定义。也许让其他人知道此解决方案是否适合您。