#graphql #apollo-client #react-apollo
Вопрос:
Я ищу способ с помощью apollo-клиента разрешить запрос graphql для нескольких идентификаторов локально с помощью кэша политики выборки и сети, чтобы, если точный запрос еще не был кэширован, он все еще мог быть быстро возвращен локально.
Согласно документам apollo, локальные распознаватели устарели, и вместо них следует использовать полевые политики.
Как мне правильно решить эту проблему в настоящее время?
nodes(ids:[1,2])
Поскольку в клиенте apollo 3 говорится, что cacheredirects удалены, является ли функция чтения политики следующих полей правильной для этого использования или также устаревшей? как я могу разрешить с его помощью несколько узлов?
import { ApolloClient, InMemoryCache } from '@apollo/client'; const client = new ApolloClient({ cache: new InMemoryCache({ typePolicies: { Query: { fields: { book(_, { args, toReference }) { return toReference({ __typename: 'Book', id: args.id, }); } } } } } });
Поскольку я создаю приложение с большим объемом данных, а идентификаторы сильно различаются, я даже подумал о том, можно ли отключить кэш запросов и всегда использовать способ локального разрешения узлов.
nodes(ids:[1,2])
nodes(ids:[1,2,3])
nodes(ids:[1,3])
...
Возможно ли это вообще?
Заранее, я очень ценю вашу помощь и опыт!