很遗憾!原 repo: https://github.com/apollographql/relay-modern-hello-world 在 GitHub 上已经 "404" 了。请换用其 Fork 版或寻找其他替代品。
Relay Modern Hello World
这是一个简单的弹出的 create-react-app 项目,其中添加了最小的部分用于加载查询,其中Relay Modern 发布候选人。 它调用了我们用于许多示例应用程序的远程服务器,即 GitHunt 应用程序,它就像GitHub的Product Hunt的克隆库。 您可以访问 GraphiQL ,以及服务器代码也可以使用。
这个例子是作为关于Relay Modern的深入博客文章的一部分准备的。
运行应用程序
yarn yarn start
如果您编辑查询码,请运行 Relay 编译器:
yarn run relay # or, to watch files and rerun yarn run relay -- --watch
代码说明
以下是要查看的部分:
schema.graphql
这是模式。我们需要将这个文件传递给 relay-compiler 。
scripts/getSchema.js
这是一个我为了内省远程服务器而编写的简单脚本,并以 .graphql 格式保存架构。
package.json
这里我们为构建过程添加了一些脚本:
"relay": "relay-compiler --src ./src --schema schema.graphql", "get-schema": "node scripts/getSchema.js"
.babelrc
我们需要安装 babel-relay-plugin 并将其添加到 .babelrc 中:
{ "presets": [ "react-app" ], "plugins": [ "relay" ] }
/AppFeedQuery.graphql.js
这是 yarn run relay 运行中继编译器时生成的代码。它基于 App.js 中的查询。
src/createRelayEnvironment.js
该文件创建一个中继环境和一个网络实例,该实例配置Relay具有从远程服务器获取查询的功能。
src/App.js
这是整个应用程序代码,其中最重要的部分是 QueryRenderer ,它调用Relay将数据注入 Feed 组件。