title: apollo client offsetLimitPagination not working
body: <p>I have a <code>hook</code>..</p>
  <pre class="lang-js prettyprint-override"><code>export function useLazyProposalList() {
    const [getQueueData, { loading, data, error, fetchMore }] = useLazyQuery(PROPOSAL_LIST, {
      fetchPolicy: 'no-cache',
    });
  
    const proposalList = React.useMemo(() =&gt; {
      if (!data) {
        return null;
      }
      return transformProposals(data);
    }, [data]);
  
    return {
      getQueueData,
      fetchMore,
      loading,
      data: proposalList,
      error,
    };
  }
  </code></pre>
  <p>In the component</p>
  <pre class="lang-js prettyprint-override"><code>const {
      getQueueData,
      data: queueData,
      fetchMore: fetchMoreProposals,
      // loadMore: loadMore,
    } = useLazyProposalList();
  
  </code></pre>
  <p>If user clicks on <code>fetch more</code> button, I call: <code>fetchMoreProposals</code> .</p>
  <pre class="lang-js prettyprint-override"><code>await fetchMoreProposals({
          variables: {
            offset: visibleProposalList.length,
          },
        });
  </code></pre>
  <p>but this doesn't update my data. I read that we should use <code>offsetLimitPagination</code>, but  my data from query is not array itself. It's like this: <code>queue { id: '1', items:[] }</code> and because of this, <code>offsetLimitPagination</code> doesn't work. So I tried merge</p>
  <pre class="lang-js prettyprint-override"><code>cache: new InMemoryCache({
      typePolicies: {
        Query: {
          fields: {
            queue: {
              keyArgs: false,
              merge(existing, incoming) {
                console.log(existing, incoming);
                if (!incoming) return existing;
                if (!existing) return incoming;
              },
            },
          },
        },
      }
  </code></pre>
  <p>but in the console, it just prints refs instead of real data.</p>
  <p>What could be the issue ?</p>