Как добавить результат fetchMore в data хука apollo?

Переношу пагинацию на аполло. Есть хук запроса:

const { data, fetchMore, updateQuery } = useQuery(FETCH_MORE, {
    variables: {
      offset: 0,
      limit: 20,
    }
  })

Попытался сделать так:

fetchMore({
          variables: {
            offset: data.fetchMore.length,
          },
          updateQuery: (previous: any, { fetchMoreResult }: any): any => {
            if (!fetchMoreResult) {
              return previous
            }
            console.log("fetchMoreResult:", previous, fetchMoreResult)
            return {
              
              fetchMore: {
                ...fetchMoreResult.fetchMore,
                data: [...previous.fetchMore, ...fetchMoreResult.fetchMore],
              },
            }
          },
        })

Но пишет, что во первых метод устарел, во вторых есть предыдущие данные, но нет входящих. Метод конкатенации для хука так же не работает:

updateQuery(prevData => ({
            data: [result, ...prevData]
          }))

Подскажите как решить вопрос.

Структура данных в логе:

Структура

Upd: Получилось сделать колхозно с отдельным стейтом, в который я просто пишу результат, но вопрос не снимаю, ибо это плохое решение:

fetchMore({
          variables: {
            offset: data.fetchMore.length,
          },
          updateQuery: (previous: any, { fetchMoreResult }: any) => {
            
            const result = [...fetchMoreResult.fetchMore, ...previous.fetchMore];

            setMessages(result)

            return result;
          }
        }) 

Ответы (0 шт):