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

时间:2018-03-07 22:27:40

标签: reactjs graphql apollo 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 });
 });

1 个答案:

答案 0 :(得分:3)

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定义。也许让别人知道这个解决方案是否适合你。