1. 功能概述
1m
你当前位于本课程的旧版本中。 查看课程更改日志.

👋 欢迎来到起飞 IV!

欢迎你来到起飞第 IV 部分!我们一直在努力制作我们的 Catstronauts 应用程序,在服务器和客户端上深入探究

到目前为止,我们只处理了从我们的 API 中检索数据。现在是时候转换思路,开始使用 来修改我们的数据了。

我们应用程序中的每个轨道都显示了它的被查看次数。我们希望每当用户从主页访问轨道页面时都增加此次数。

为此,我们将更新我们的模式以包括 ,了解针对我们的 mutation 响应的最佳实践。我们将编写我们的 以处理成功的响应和错误。最后在客户端,我们将使用一个名为 useMutation的 React hook

点火顺序…

前提条件

我们的应用程序在后端使用 Node.js,在前端使用 React。本课程可以独立完成,但建立在之前在起飞第一部分第二部分第三部分中涉及的概念上。

注意:在本课程中,我们使用 3。如果你需要 引用 Apollo 文档在学习本课程的时候,请确保你正在查看 v3 文档集!

克隆存储库

在你选择的目录中,使用你喜欢的终端,克隆应用程序的启动库

git clone -b v1 https://github.com/apollographql/odyssey-lift-off-part4

注意:上面的 git clone命令可能看起来与你习惯的命令略有不同。本课程使用启动代码库的 v1单击此处访问此课程的最新版本。

任务!

项目结构

此存储库从起飞 III 停止的地方开始。我们的项目是一个全栈应用程序,后端应用程序位于 server/目录中,前端应用程序位于 client/目录中。

此外,您还会发现一个 final/ 目录,其中包含您完成课程后项目的最终状态。请随时将其用作指南!

以下为文件结构

📦 odyssey-lift-off-part4
┣ 📂 client
┃ ┣ 📂 public
┃ ┣ 📂 src
┃ ┣ 📄 README.md
┃ ┣ 📄 package.json
┣ 📂 server
┃ ┣ 📂 src
┃ ┃ ┣ 📂 datasources
┃ ┃ ┃┣ 📄 track-api.js
┃ ┃ ┣ 📄 index.js
┃ ┃ ┣ 📄 schema.js
┃ ┃ ┣ 📄 resolvers.js
┃ ┣ 📄 README.md
┃ ┣ 📄 package.json
┣ 📂 final
┃ ┣ 📂 client
┃ ┣ 📂 server
┗ 📄 README.md

现在,在您最喜爱的 IDE 中打开存储库。

注意:本课程中的示例使用 npm,但如果您愿意,也可以使用 yarn

让我们从服务器应用程序开始。

在终端窗口,导航至该存储库的 server 目录并运行以下命令,以安装依赖项并运行该应用程序:

npm install && npm start

如果一切顺利,您将会看到安装已完成,控制台中的消息也会指示服务器正在运行。

任务!

接下来是客户端应用程序。

在新终端窗口中,导航至存储库的 client 目录,并运行以下命令,以安装依赖项并启动该应用程序:

npm install && npm start

控制台中应该会显示大量输出,以及在 localhost:3000 运行的应用程序的链接。您可以导航到 https://127.0.0.1:3000,在浏览器中查看我们的主页,其显示多个音轨卡。

任务!

设置 Explorer

为了编写我们的查询,我们将在 Explorer 页中使用 。Explorer 可以免费使用,并且它提供极好的开发功能,如互动 创建、query 历史记录和响应提示。这将使我们快速、愉快地创建自己的查询。

要在 中打开 Explorer,您可以 cmd+click 终端中的 URL(通过启动服务器)以在您的浏览器中将其打开,或者您可以在此处将其打开: https://127.0.0.1:4000

在浏览器中,我们可以看到我们的服务器正在成功运行,其中包含一条消息提示我们它。让我们点击查询您的服务器来看到我们的 使用 执行操作。

任务!

让我们开始吧!

下一步

分享你关于此课程的问题和评论

你的反馈有助于我们改进!如果你遇到了任何困难或感到困惑,请告诉我们,我们会帮助你解决。所有评论均为公开,并且必须遵循 Apollo 行为准则。请注意,已解决或已处理的评论可能会被移除。

你需要一个 GitHub 帐户才能在下方发帖。没有帐户? 转而发布在我们的 Odyssey 论坛中。