title: Apollo Client client.readQuery returning null when data is in the cache
body: <p>This must be user error, but I've got an app with a simple <code>currentUser</code> query that looks at a JWT for an id, looks it up, and returns the appropriate user.</p>
  <p>I can look at devtools and see that it's in the cache as <code>__ref:User:19</code></p>
  <pre><code>export const CURRENT_USER_QUERY = gql`
    query{
      currentUser {
        id
        fullName
        email
      }
    }
  `
  </code></pre>
  <p>But in my component, when I do <code>const { currentUser } = client.readQuery({ query: CURRENT_USER_QUERY });</code> it (intermittently) blows up because:</p>
  <pre><code>Cannot destructure property 'currentUser' of 'client.readQuery(...)' as it is null.
  </code></pre>
  <p>User:19 exists and is all the stuff I need. I hit reload, and that same page works.</p>
  <p>I have my default error policy set to &quot;all&quot; in the client.</p>
  <p>This is version 3.3.11 of the client. Chrome v88.04, for what that's worth. React 17.01.</p>
  <p>Am I missing something here? Should that not return a value synchronously (and dependably) if that item's in the cache?</p>
  <p>Is there a better way to deal with that situation? I'm trying to move this app away from storing things in redux or some context provider since it's already being handled by Apollo. Seems redundant to have that responsibility handled by a bunch of different things.</p>