Тип кэша клиента Apollo объединяет различные кэши переменных

#typescript #apollo #apollo-client

Вопрос:

У меня есть страница со списком продуктов, которые я запрашиваю с помощью slug. И для них есть отзывы. Что касается разбиения на страницы, мне пришлось реализовать типополиции, которые выглядят примерно так.

 cache: new InMemoryCache({
            typePolicies: {
                Query: {
                    fields: {
                        
                        getReviewsBySlug: {
                            keyArgs: false,
                            merge(existing = null, incoming) {
                                if (!existing) return incoming;
                                const reviews = [...existing.reviews, ...incoming.reviews];
                                const uniqueReviews = uniqBy(reviews, (item) => item['__ref']);
                                return {
                                    ...existing,
                                    reviews: uniqueReviews,
                                    hasMore: incoming.hasMore
                                }
                            },
                        }
                    }
                }
            }
        })
 

И я выполняю запрос следующим образом.

 const { data: dataComments, fetchMore } = useGetReviewsBySlugQuery({
    variables: {
      input: {
        slug,
        skip,
        take: TAKE,
      }
    },
  });
 

Итак, проблема, с которой я столкнулся. После того, как я открою один продукт и увижу 5 отзывов, затем я открою другой продукт с 3 отзывами, для следующего у меня будет 8 отзывов.
Он объединил их, не завися от слизняка, который я использую для запроса . Как я могу обратиться к кэшу, чтобы переменная slug разделяла его