问题标签 [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.
strongloop - 如何将 Relay/GraphQL 与 Loopback 一起使用?
将 Relay/GraphQL 与 Loopback 一起使用的任何可行解决方案?我想我正在考虑的一些事情是如何访问数据库(因为我假设不可能通过 ORM)以及在使用 Relay/GraphQL 时如何利用 api 生成器......
react-native - 如何将 Realm 与 Relay/GraphQL 一起使用
我正在开发一个反应原生应用程序,我需要一些本地持久性。Realm 看起来是个不错的选择。我还有适用于该应用程序的 Relay/GraphQL。Relay 有自己的缓存管理器,但缓存数据必须从 Realm db 中获取。有人可以告诉我是否有可以将从 Realm db 获取的数据转换为 Relay 适当内容的转换工具?
提前致谢。
navigation - 如何将 react-native-router-flux 与 Relay 集成
我应该将所有路由包装在 RootContainer 或 Relay 中,还是应该只包装使用 Relay 的场景?
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: ...
。它获取新的连接,不存在一个。有任何想法吗?谢谢你。
webpack - Webpack 代码拆分使用中继的应用程序
示例 github 存储库(特定提交)
我正在深入研究反应/中继,并想确保我已经准备好开始开发与生产。我们有一个大型应用程序,因此必须进行代码拆分。
我更喜欢基于 JSX 的react-router
路由声明,所以我很高兴遇到Evan Henley的 React Router 和 Webpack的隐式代码拆分和块加载。
通过对正则表达式和 ES6 的一些调整,我能够让他的方法工作。克隆repo,npm install && npm start
您将能够导航到不同的块(todos 除外)。
^^^所有这些都适用于应用程序的非中继部分 - 好东西。
问题
然后...导航到 Todos(基于中继)。
我们的生产应用程序将完全依赖于继电器。
中继依赖于一些对类的静态调用,例如getFragment
. 在这种情况下,webpack 已推TodoListFooter
送到不同的共享块中,因此TodoListFooter2
没有getFragment
. 相比之下,它在同一行中断,_AddTodoMutation2
位于同一块中,因此类似的调用_AddTodoMutation2.default.getFragment('viewer')
可以正常工作。
潜在的解决方案
- 使用命名块?此提交尝试这样做,但它仍然将一些代码推送到共享块中(并且失败并出现相同的错误)
- 与静态方法兼容的不同代码拆分方法?
- 有什么我没有想到的?
reactjs - 使用 this.props.relay.setVariables 时,Relay/Graphql 查询字段“node”而不是“viewer”
我有一个在初始页面加载时获取 2 个项目的表。这正确地返回了 2 行。当我检查请求有效负载时,我看到以下信息:
然后我有一个按钮,它触发一个函数并设置一个变量以通过 this.props.relay.setVariables 返回其他项目。
然后我收到 3 次重试错误和以下错误:
当我检查请求有效负载时,我注意到它正在查询“节点”而不是像以前那样查询“查看器”。
这是我的 schema.js 文件
我遇到了其他人有类似的问题,虽然他们没有提到他们是如何解决的,但他们确实这么说:
问题出在我的 nodeDefinitions 中。我没有正确加载用户 ID 或识别节点对象。一旦我让那些工作一切正常
任何帮助将不胜感激。
javascript - 现有工作graphQL服务器的中继客户端?
我有运行在 127.0.0.1:3000 的tinySQL GraphQL 服务器。我想为它创建任何有效的中继客户端。我的意思是查询的任何工作示例:
这将在 React 组件中输出类似的内容:
最重要的是我希望能够设置 GraphQL 主机 IP 和端口,并且不想更改 GraphQL 服务器代码中的任何内容。有可能做到吗?是否可以在没有 babelRelayPlugin.js、babel-relay-plugin、webpack、webpack-dev-server 或任何其他魔术的情况下做到这一点?
编辑:
我是说:
任何人?有可能这样做吗?
graphql - Relay中如何动态改变网络层
我知道中继可以在引导时注入网络层,如下所示:
但是如果我以后需要告诉标题是什么(比如在登录之后)呢?
graphql - 在中继中,如何获取 graphql 中定义的 outputFilelds?
我正在通过阅读 todo 示例来学习 graphql/relay。
突变模式定义如下:
中继突变在这里定义,并调用如下:
我只是对 schmea 中的 outputFileds 从未在调用者中使用感到困惑,并且看起来与中继中的胖查询无关。谁能详细解释一下?
无论如何,我的最终目标是在 grapahql/relay 中实现身份验证(如下所示),这需要获取突变模式中定义的输出,但我不知道如何去做。
javascript - 突变时的 GraphQL 验证错误
我正在尝试使用 Relay Todo 示例中的修改代码设置突变。
当我尝试编译时,出现以下错误:
我复制了 Todo 代码,所以我不知道为什么 Todo 突变工作正常,但我的新 Campaign 测试却没有。
这是我的 database.js 文件,我删除了 Todo 相关项以使文档更易于阅读:
这是我的 schema.js 文件,我再次删除了 Todo 相关项以使文档更易于阅读:
这是我的 AddCampaignMutation.js 文件:
最后,这是包含我的文本输入和对 AddCampaignMutation 的调用的应用程序文件: