Fetch запрос отправляется дважды

Результат мутации должен обновлять данные без лишнего запроса на сервер, не понимаю, что нужно исправить, чтобы данные не фетчились дважды, а брались из кэша.

const [createEvent, { loading }] = useMutation(CREATE_GOOD_MUTATION, {
    variables: values,
    update(proxy, result) {
      // TODO: remove goods from cache
      const data = proxy.readQuery({
        query: FETCH_ITEMS_QUERY,
      });
      let newData = [...data.events];
      newData = [result.data.events, ...newData];
      proxy.writeQuery({
        query: FETCH_ITEMS_QUERY,
        data: {
          ...data,
          events: {
            newData,
          },
        },
      });
    },
    onError(err) {
      setErrors(err.message);
    },
  });

введите сюда описание изображения

Мутация на создание нового товара:

CREATE_GOOD_MUTATION = gql`
  mutation createEvent(
    $title: String!
    $description: String!
    $price: String!
    $autor: String!
    $pageNumber: String!
    $publishYear: String!
  ) {
    createEvent(
      eventInput: {
        title: $title
        description: $description
        price: $price
        autor: $autor
        pageNumber: $pageNumber
        publishYear: $publishYear
      }
    ) {
      title
      description
      price
    }
  }
`;

Запрос на вывод всех товаров:

FETCH_ITEMS_QUERY = gql`
  query events {
    events {
      id
      title
      description
      price
    }
  }
`;

Мне необходимо отправлять fetch один раз, при добавлении нового товара, а сам вывод товаров должен происходить из кэша, без дополнительного запроса.


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