问题标签 [relay]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2834 浏览

strongloop - 如何将 Relay/GraphQL 与 Loopback 一起使用?

将 Relay/GraphQL 与 Loopback 一起使用的任何可行解决方案?我想我正在考虑的一些事情是如何访问数据库(因为我假设不可能通过 ORM)以及在使用 Relay/GraphQL 时如何利用 api 生成器......

0 投票
2 回答
1026 浏览

react-native - 如何将 Realm 与 Relay/GraphQL 一起使用

我正在开发一个反应原生应用程序,我需要一些本地持久性。Realm 看起来是个不错的选择。我还有适用于该应用程序的 Relay/GraphQL。Relay 有自己的缓存管理器,但缓存数据必须从 Realm db 中获取。有人可以告诉我是否有可以将从 Realm db 获取的数据转换为 Relay 适当内容的转换工具?

提前致谢。

0 投票
1 回答
166 浏览

navigation - 如何将 react-native-router-flux 与 Relay 集成

我应该将所有路由包装在 RootContainer 或 Relay 中,还是应该只包装使用 Relay 的场景?

0 投票
0 回答
486 浏览

reactjs - 对整个客户端存储进行中继强制获取

我的应用程序中有通知系统,我想在新通知到来时获取数据。我用

RelayStore.forceFetch({statusRequest: Relay.QL`{query { viewer { list { edges ...}}}`})

所以它适用于节点,因为节点有 ID,但对于存在的连接它没有。在文档中它说

forceFetch can be called with an empty set of partial variables, meaning it can trigger a refresh of the currently rendered set of data.

我试图仅获取与空数组的连接作为部分变量集。它什么也没做。在网络选项卡中,我看到我对服务器的请求,在响应中我看到数据已正确获取。但作为回应,我明白了list: ...。它获取新的连接,不存在一个。有任何想法吗?谢谢你。

0 投票
1 回答
437 浏览

webpack - Webpack 代码拆分使用中继的应用程序

示例 github 存储库(特定提交)

我正在深入研究反应/中继,并想确保我已经准备好开始开发与生产。我们有一个大型应用程序,因此必须进行代码拆分。

我更喜欢基于 JSX 的react-router路由声明,所以我很高兴遇到Evan Henley的 React Router 和 Webpack的隐式代码拆分和块加载

通过对正则表达式和 ES6 的一些调整,我能够让他的方法工作。克隆reponpm install && npm start您将能够导航到不同的块(todos 除外)。

^^^所有这些都适用于应用程序的非中继部分 - 好东西。

问题

然后...导航到 Todos(基于中继)。

我们的生产应用程序将完全依赖于继电器。

中继依赖于一些对类的静态调用,例如getFragment. 在这种情况下,webpack 已推TodoListFooter送到不同的共享块中,因此TodoListFooter2没有getFragment. 相比之下,它在同一行中断,_AddTodoMutation2位于同一块中,因此类似的调用_AddTodoMutation2.default.getFragment('viewer')可以正常工作。

潜在的解决方案

  1. 使用命名块?此提交尝试这样做,但它仍然将一些代码推送到共享块中(并且失败并出现相同的错误)
  2. 与静态方法兼容的不同代码拆分方法?
  3. 有什么我没有想到的?
0 投票
1 回答
725 浏览

reactjs - 使用 this.props.relay.setVariables 时,Relay/Graphql 查询字段“node”而不是“viewer”

我有一个在初始页面加载时获取 2 个项目的表。这正确地返回了 2 行。当我检查请求有效负载时,我看到以下信息:

然后我有一个按钮,它触发一个函数并设置一个变量以通过 this.props.relay.setVariables 返回其他项目。

然后我收到 3 次重试错误和以下错误:

当我检查请求有效负载时,我注意到它正在查询“节点”而不是像以前那样查询“查看器”。

这是我的 schema.js 文件

我遇到了其他人有类似的问题,虽然他们没有提到他们是如何解决的,但他们确实这么说:

问题出在我的 nodeDefinitions 中。我没有正确加载用户 ID 或识别节点对象。一旦我让那些工作一切正常

任何帮助将不胜感激。

0 投票
1 回答
262 浏览

javascript - 现有工作graphQL服务器的中继客户端?

我有运行在 127.0.0.1:3000 的tinySQL GraphQL 服务器。我想为它创建任何有效的中继客户端。我的意思是查询的任何工作示例:

这将在 React 组件中输出类似的内容:

最重要的是我希望能够设置 GraphQL 主机 IP 和端口,并且不想更改 GraphQL 服务器代码中的任何内容。有可能做到吗?是否可以在没有 babelRelayPlugin.js、babel-relay-plugin、webpack、webpack-dev-server 或任何其他魔术的情况下做到这一点?

编辑:

我是说:

任何人?有可能这样做吗?

0 投票
3 回答
919 浏览

graphql - Relay中如何动态改变网络层

我知道中继可以在引导时注入网络层,如下所示:

但是如果我以后需要告诉标题是什么(比如在登录之后)呢?

0 投票
1 回答
57 浏览

graphql - 在中继中,如何获取 graphql 中定义的 outputFilelds?

我正在通过阅读 todo 示例来学习 graphql/relay。

突变模式定义如下:

中继突变在这里定义,并调用如下:

我只是对 schmea 中的 outputFileds 从未在调用者中使用感到困惑,并且看起来与中继中的胖查询无关。谁能详细解释一下?

无论如何,我的最终目标是在 grapahql/relay 中实现身份验证(如下所示),这需要获取突变模式中定义的输出,但我不知道如何去做。

0 投票
1 回答
1530 浏览

javascript - 突变时的 GraphQL 验证错误

我正在尝试使用 Relay Todo 示例中的修改代码设置突变。

当我尝试编译时,出现以下错误:

我复制了 Todo 代码,所以我不知道为什么 Todo 突变工作正常,但我的新 Campaign 测试却没有。

这是我的 database.js 文件,我删除了 Todo 相关项以使文档更易于阅读:

这是我的 schema.js 文件,我再次删除了 Todo 相关项以使文档更易于阅读:

这是我的 AddCampaignMutation.js 文件:

最后,这是包含我的文本输入和对 AddCampaignMutation 的调用的应用程序文件: