title: GraphQL Query is fetching data only once after mutation
body: <p>I want to fetch the userUnpurchasedCourses query after performing the addCourseToOrder mutation but I am unable to do that.
  After adding one class to the order, it fetches the userUnpurchasedCourses query but if I again add the course to order then the query won't run.</p>
  
  <p>I have tried to perform the query in the then block of mutation and also tried the refetch queries but the problem with refetch query is that I am not able to get the result of the query. </p>
  
  <p>this is how I define the mutation</p>
  
  <pre><code>const Mutation = async (query, variables, refetch) =&gt;
    client.mutate({
      mutation: gql`
        ${query}
      `,
      variables,
      refetchQueries: () =&gt; [
        {
      query: gql`
        ${refetch?refetch:query}
      `,
      variables
    }
  ]
    });
  </code></pre>
  
  <p>Here I used mutation like this </p>
  
  <pre><code>let res = await Mutation(classes.addCourseToOrder(), {
            userId,
            id,
            orderId,
            amount,
          })
       if (res.data.addCourseToOrder) {
          this.props.getUserUnpurChasedCourses({id})
       }
  </code></pre>
  
  <p>getUserUnpurChasedCourses will be responsible to run the userUnpurchasedCourses.</p>
  
  <p>If you need more detail than please let me know</p>
  
  <p>Thanks in advance.</p>