Next.js 中使用 GraphQL 来访问外部的 API

在开发现代网站和应用程序时,前端工程师需要经常使用各种 API 以获取数据。GraphQL 是一种流行的数据查询语言,它可以让前端开发人员按需获取数据,而不是从 API 中获取整个数据集合。Next.js 是一种流行的 React 框架,它可以很方便地与 GraphQL 一起使用。在本文中,我们将探讨如何使用 Next.js 和 GraphQL 访问外部的 API。

前提条件

在开始之前,请确保您已经安装好了以下工具:

  • Node.js
  • Yarn 或 npm
  • 一个 GraphQL API,例如 Github GraphQL API

什么是 Next.js?

Next.js 是一个 React 框架,它提供了一个为 React 应用程序构建的服务器渲染的框架。它的特点包括:

  • 自动代码拆分
  • 它自带的样式和 CSS 模块化
  • 静态文件服务

Next.js 具有良好的开箱即用功能,并提供了一种将 React 应用程序构建为服务端渲染的方式。

什么是 GraphQL?

GraphQL 是一种数据查询语言,用于 API 的查询、变更和订阅。它使得前端开发人员可以按需获取数据,并允许 API 以一种更灵活和高效的方式提供数据。

GraphQL 提供了一种描述数据的方式,称为 schema。每个 GraphQL API 都有一个 schema,它定义了可用的查询和变更操作。查询是用于从 API 中获取数据的操作,而变更是允许您对 API 中的数据进行修改的操作。

使用 Next.js 和 GraphQL 访问外部的 API

下面是如何使用 Next.js 和 GraphQL 访问外部 API 的步骤:

  1. 创建一个 Next.js 应用程序。

  2. 安装所需的包。

  3. 创建一个 GraphQL 客户端。

    在上面的代码中,我们使用了 ApolloClient 包来创建我们的 GraphQL 客户端。我们使用了 GitHub GraphQL API 作为示例,并将其作为我们的 URI 传递给了 ApolloClient。我们还使用了一个名为 isomorphic-unfetch 的包来实现客户端/服务器端的数据获取。

  4. 创建一个 GraphQL 查询。

    在上面的代码中,我们定义了一个名为 query 的 GraphQL 查询,并使用带参的模板字面量将其定义为字符串。

  5. 使用 ApolloProvider 包裹我们的应用程序。

    在上面的代码中,我们将 ApolloProvider 包装在我们的 Next.js 应用程序周围,并提供了我们之前创建的 Apollo 客户端。

  6. 使用 useQuery Hook 查询数据。

    在上面的代码中,我们使用 useQuery Hook 查询 GitHub API。useQuery Hook 返回一个包含 loading、error 和 data 的对象。根据数据是否加载成功,我们可以渲染 UI 组件。在上面的示例中,我们直接输出了 GitHub 认证用户的相应信息。

  7. 运行应用程序并查看结果。

    在终端中运行以下命令:

    然后,打开 http://localhost:3000/ 查看结果。

总结

在这篇文章中,我们发现了如何使用 Next.js 和 GraphQL 来访问外部 API。我们创建了一个 GraphQL 客户端,定义了一个查询,并使用 useQuery Hook 从 API 中获取数据。通过使用 Next.js 和 GraphQL,我们可以更灵活地获取数据,并使数据渲染更快。如果您想要了解更多关于 Next.js 和 GraphQL 的信息,请参考 Next.js 和 Apollo(GraphQL) 的官方文档。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65485f347d4982a6eb2a54ed


纠错
反馈