title: How to force App to re-render after mutation?
body: <p>I have a React app built using Next.js. I want to be able to login and then cause the app to re-render in order for it to attempt to fetch the current logged in user.</p>
  
  <p>My <code>_app.js</code> component is wrapped with the apollo provider and has a get user Query as well: </p>
  
  <pre><code>class MyApp extends App {
  
    render() {
      const { Component, pageProps, apolloClient } = this.props;
      return (
        &lt;&gt;
          &lt;Container&gt;
            &lt;ApolloProvider client={apolloClient}&gt;
              &lt;Query query={GET_USER} fetchPolicy="network-only" errorPolicy="ignore"&gt;
                {({ loading, data, error }) =&gt; console.log("rendering app", data) || (
                  &lt;&gt;
                    &lt;Component {...pageProps} user={data &amp;&amp; data.me} /&gt;
                  &lt;/&gt;
                )}
              &lt;/Query&gt;
            &lt;/ApolloProvider&gt;
          &lt;/Container&gt;
        &lt;/&gt;
      );
    }
  }
  </code></pre>
  
  <p>I then have a login form which simply sends the email and password to my API which then returns a set-cookie token header with the access token.</p>
  
  <pre><code>&lt;Mutation 
      mutation={LOGIN}
      onError={error =&gt; {
          this.setState({error: "Incorrect email or password"})
      }}
      onCompleted={() =&gt; {
          window.location.reload() // temp solution to cause app to re-render
      }}
  &gt;
    {(login, {loading}) =&gt; (
      &lt;Login 
          {...this.props} 
          login={login} 
          loading={loading} 
          error={error} 
      /&gt;
    )}
  &lt;/Mutation&gt;
  </code></pre>
  
  <p>I can successfully log in but I was expecting the Apollo cache to get written to with the user data:</p>
  
  <pre><code>{
    "data": {
      "login": {
        "_id": "abcd1234",
        "accessToken": "abc123",
        "firstName": "First",
        "lastName": "Last",
        "email": "abcd123@b.com",
        "__typename": "User"
      }
    }
  }
  </code></pre>
  
  <p>As the cache is getting written to, I was expecting the _app.js / ApolloProvider children to re-render as they receive props from the cache. </p>
  
  <p>My get user Query should then attempt to run again (this time with the access token set in a cookie) and a user should be returned (indicating the user is logged in).</p>
  
  <p>Why is my mutation not telling my app to re-render onCompleted? </p>