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

Tay*_*tin 3 apollo reactjs graphql react-apollo apollo-client

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

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

Rob*_*uch 6

Apollo Client 文档对 refetchQueries 做了以下说明:一个允许您指定在发生突变后要重新获取的查询的函数。因此,您应该可以将单个或多个查询传递给refetchQueries().

基本上应该是:

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

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