我可以在不使用 Apollo 的情况下使用 graphql 进行反应吗?

can i use graphql in react without using Apollo?

我正在尝试将 GraphQl 与 React 结合使用。 建议使用 apollo 客户端进行反应以将 graphql 实施到应用程序。 但我一开始不想用它。

我可以在不使用 apollo 客户端的情况下使用 graphql 来响应吗?

是的。我们可以在不使用 Apollo Client 的情况下将 GraphQL 与 React 一起使用。我们可以使用 fetchaxios 并且可以使事情相同。

下面的示例演示了使用 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));

同样的事情可以使用 axios 轻松实现。希望这对您有所帮助!

是的,因为 GraphQL is a spec 而不仅仅是一家公司的实施(无论许多人认为该实施有多好)。 GraphQL 的核心只是一种查询格式和结构化响应。甚至网络调用也不是绝对必要的。

您也可以在浏览器中跳过 Apollo,而只调用一个纯 Web 请求。您可以使用 XMLHttpRequest 或 Fetch API 轻松调用 AJAX 来执行 GraphQL 查询。我能想到的解决这个问题的最简单方法是在某处安装 GraphiQL or Playground,打开浏览器的开发人员工具,然后执行查询。大多数浏览器的开发人员工具的网络选项卡将向您显示您需要的所有请求 headers 和 URL 参数。

Apollo 客户端为您做了很多工作,并且有一个非常健康的生态系统来添加缓存、联合等,但是没有什么可以阻止您跳过该库并自己进行 HTTP 调用而无需中间商