Могу ли я использовать GraphQL реагировать без использования Apollo? - PullRequest
1 голос
/ 06 января 2020

Я пытаюсь использовать GraphQl с реагировать. Предложения дает использовать клиент apollo для реакции, чтобы реализовать graphql для приложения. но я не хочу использовать его в первую очередь.

Могу ли я использовать graphql для реакции без использования клиента apollo?

Ответы [ 2 ]

3 голосов
/ 06 января 2020

Да. Мы можем использовать GraphQL с React без использования Apollo Client. Мы можем использовать fetch или ax ios и можем заставить все работать одинаково.

Ниже приведен пример использования fetch для запроса конечной точки GraphQL. .

fetch(<graphql_endpoint>, {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ query: '{ posts { title } }' }),
})
.then(res => res.json())
.then(res => console.log(res.data));

Этого же легко добиться, используя ax ios. Надеюсь, это поможет!

2 голосов
/ 06 января 2020

Да, потому что GraphQL - это спецификация c, а не просто реализация одной компании (независимо от того, насколько хороши многие считают эту реализацию). По своей сути GraphQL - это просто формат запроса и структурированный ответ. Даже сетевой вызов строго не нужен.

Вы также можете пропустить Apollo в браузере и просто вызвать простой веб-запрос. Вы можете легко сделать AJAX вызов с помощью XMLHttpRequest или Fetch API для выполнения запроса GraphQL. Самый простой способ решить эту проблему - установить GraphiQL или Playground где-нибудь, открыть инструменты разработчика вашего браузера и выполнить запрос. На вкладке «Сеть» большинства инструментов разработчика браузера отображаются все заголовки запросов и параметры URL, которые вам понадобятся.

Клиент Apollo выполняет большую часть этой работы за вас и имеет очень полезную экосистему для добавления кэширования. , federation, et c., но ничто не мешает вам пропустить эту библиотеку и сделать HTTP-вызовы самостоятельно без посредников.

...