title: React, Apollo 2, GraphQL, Authentication system
body: <p>I have this code: <a href="https://codesandbox.io/s/507w9qxrrl" rel="nofollow noreferrer">https://codesandbox.io/s/507w9qxrrl</a></p>
  
  <p>I don't understand:</p>
  
  <p>1) <strong>How to re-render() <code>Menu</code></strong> component after:</p>
  
  <pre><code>this.props.client.query({
    query: CURRENT_USER_QUERY,
    fetchPolicy: "network-only"
  });
  </code></pre>
  
  <p>If I login() I expect my <code>Menu</code> component to re-render() itself. But nothing. If I click on the Home link it re-render(). I suspect because I'm using this to render it:</p>
  
  <pre><code>&lt;Route component={Menu} /&gt;
  </code></pre>
  
  <p>for embrace it in react-router props. Is it wrong?</p>
  
  <p>2) <strong>How to prevent <code>Menu</code> component to query if not authenticated</strong> (eg: there isn't a token in localStorage); I'm using in <code>Menu</code> component this code:</p>
  
  <pre><code>export default graphql(CURRENT_USER_QUERY)(Menu);
  </code></pre>
  
  <p>3) <strong>Is this the right way to go?</strong></p>