Apollo GraphQL:预取数据,但查询命中服务器而不是从缓存加载?

Apollo GraphQL: Pre-Fetching Data, but Query Hits Server Instead of Loading from Cache?

我有一个在悬停元素时调用的例程:

function prefetchDataOnHover(event){
    const messsageID = event.currentTarget.id;
    if ((Meteor.userId()) && (!prefetched_IMs)){
        client.query({
            query: INSTANTMESSAGES_QUERY,
            variables: {"fromID": Meteor.userId(), "toID": messsageID}
        });
        setPrefetched_IMs(true);
    }
}

它预取我的即时消息组件使用的数据。在该组件中,我有一个 <Query> 组件:

<Query query={INSTANTMESSAGES_QUERY}
       variables={{"fromID": Meteor.userId(), "toID": remoteUserID}}> //<==confirmed same values as in pre-fetch
    {({subscribeToMore, loading, error, data, refetch}) => {
        if (loading) {
            [.....]

我已经确认发送到 INSTANTMESSAGES_QUERY 的变量在两个地方是相同的。我希望该组件将从缓存中检索数据。但是相反,我的服务器解析器运行并检索数据。

我错过了什么?

看来是因为我在预加载组件中使用了refetch