Для любого, кто сталкивался с той же или подобной проблемой, мне удалось обойти ее следующим образом:
Я создал следующую функцию:
export const makeRequest = (url, requestParams) => {
requestParams.data = requestParams.body;
return axios(url, requestParams)
.then(response => {
return new Response(JSON.stringify(response.data), {
...response.headers,
status: response.status,
statusText: response.statusText
})
});
};
Я заменил выборку по умолчанию в Apollo Link в Apollo Client, используя свойство fetch
:
new HttpLink({
uri: config.graphqlUrl,
credentials: 'same-origin',
fetch: makeRequest
})
makeRequest
, имитирующее функцию fetch
, но не отменено сEscape
нажатие клавиши.
Клиент Apollo ожидает, что ответом будет экземпляр Response , поэтому мы предоставляем его один.
EDIT: Оказалось, что это не такработать на IE11.Если вы заботитесь о совместимости с IE, вам следует установить whatwg-fetch
(https://www.npmjs.com/package/whatwg-fetch)) и в верхней части файла указать следующее:
import { Response } from "whatwg-fetch";