Refreshing access and refresh tokens via Apollo in React

I am trying to implement the logic for working with refresh and access tokens through Apollo in React. In the process of writing the code, I ran into the following problems.

  1. If the server (Graphql) returns me an error (access token expired), then it is intercepted by ErrorLink. And I have no idea how I can make a GraphQl mutation inside it to receive new tokens.

  2. Even if I receive new tokens, I understand that I have no idea how to send the original request again. mutation to receive new tokens.

And I have not found an example of such functionality in the documentation.