У меня есть эта подпрограмма, которая вызывается при наведении на элемент:
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, одинаковы в обоих местах.Я ожидаю, что компонент будет извлекать данные из кэша.Но вместо этого, мой сервер запускается и извлекает данные.
Что мне не хватает?