title: refetching a query with react-apollo: why is `loading` not true?
body: <p>I'm trying Apollo and using the following relevant code:</p>
  
  <pre><code>const withQuery = graphql(gql`
  query ApolloQuery {
    apolloQuery {
      data
    }
  }
  `);
  
  export default withQuery(props =&gt; {
    const {
      data: { refetch, loading, apolloQuery },
    } = props;
  
    return (
          &lt;p&gt;
            &lt;Button
              variant="contained"
              color="primary"
              onClick={async () =&gt; { await refetch(); }}
            &gt;
              Refresh
            &lt;/Button&gt;
            {loading ? 'Loading...' : apolloQuery.data}
          &lt;/p&gt;
    );
  });
  </code></pre>
  
  <p>The server delays for 500ms before sending a response with <code>{ data: `Hello ${new Date()}` }</code> as the payload. When I'm clicking the button, I expect to see <code>Loading...</code>, but instead the component still says <code>Hello [date]</code> and rerenders half a second later.</p>
  
  <p>According to <a href="https://www.apollographql.com/docs/react/api/react-apollo.html#graphql-query-data-networkStatus" rel="noreferrer">this</a>, the <code>networkStatus</code> should be 4 (<code>refetch</code>), and thus <code>loading</code> should be true. Is my expectation wrong? Or is something regarding caching going on that is not mentioned in the React Apollo docs?</p>
  
  <p>The project template I'm using uses SSR, so the initial query happens on the server; only refetching happens in the browser - just if that could make a difference.</p>