问题标签 [relayjs]
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.
relay - 继电器入门套件的简单存储
我正在使用 Facebook 的 Relay 入门工具包学习 Relay 和 GraphQL。我想为我的数据创建一个简单的存储,基本上只是为了将我的 GraphQL 突变保存在某个地方。稍后我将处理适当的 ORM 和数据库。
我可以将数据作为 JSON 转储到平面文件中吗?我该怎么做?(不需要并发、安全等,我还在学习这一切。)
提前致谢!
mysql - Laravel 和 MySQL / Facebook Relay 和模式,有人在尝试吗?
我很想看看是否有人在尝试这种技术组合。我已经开始从事 Laravel 项目,但对 Facebook Relay 的功能感到好奇。所以用户仍然以通常的方式将数据发布到 MySQL,但在检索数据时,使用 Facebook Relay 来转换页面的前端。
react-router - 如何在 Relay Container 之间传递变量
我正在寻找将变量从父容器传递到子容器的良好语法。
假设我有这些路线,其中有一个全局小部件列表/
和特定的小部件列表/widgets/:WidgetListID
。
注意:我使用 react-router-relay
它是相同的<WidgetList/>
组件,在<WidgetListContainer/>
内部呈现<Layout/>
,这是我尝试传递WidgetListID
变量的方式:
布局.js
WidgetListContainer.js
小部件列表.js
我直接在 WidgetList 中继容器内设置变量没有问题WidgetListID
,它工作得很好,但是一旦我尝试从 WidgetListContainer 中继容器传递它,我就有一个空的数据对象{__dataID__: "VXNlcjo="}
。不过,该变量在我的 getWidget() 函数中打印得很好。所以有些东西在某些时候不起作用,但我不知道是什么?
将WidgetListID
变量从父容器传递到子容器的好语法是什么?
reactjs - Relay + React 上的测试策略
这些天我正在试验 React + Relay + Graphql。不幸的是,我找不到任何简单方便的方法来测试由 Relay Container 包装的 React 组件。
基本上,我想通过 TDD 实现这些目标,
- 渲染一个容器并测试它的内容,
- 更改变量并测试其对内容的更改。
与 React + Flux 相比,React + Relay 更像是黑盒,或者说,声明式的。
我可以看到人们模拟 Relay.createContainer 以绕过 Relay 并仅测试 React 组件。它使继电器部分未被覆盖,并且无法通过测试来驱动该部分。 https://github.com/facebook/relay/issues/161
另外,我通读了 Relay 的测试用例,渲染一个模拟容器真的很乏味。 https://github.com/facebook/relay/blob/master/src/tools/mocks/RelayTestUtils.js _ _
如果您能分享您的解决方案,我将不胜感激。
谢谢!
graphql - 分页连接加上突变增加的边缘
RANGE_ADD
在进行突变时,我无法弄清楚如何完成看似非常标准的模式。
在页面加载时说我拉入并呈现chatmessages
与first: 10
分页的连接。我现在做AddMessageMutation
一个前置到同一个连接的操作。由于连接由连接first: 10
的最后一项进行分页,因此现在已经为我的新边缘腾出空间,因此从渲染中删除。我当然可以在突变上添加+1 first
,onSuccess
但这通常会留下一个奇怪的闪烁效果,即在最后移除和重新插入边缘。
如果我想对连接进行乐观更新,这个问题似乎变得更加困难,因为没有onOptimistic
回调。
由于这似乎是一种非常常见的模式,我想我会问我是否以错误的方式接近它。
reactjs - Relay.js 中的动态子项/地图类型
我有一个Item
类型。我希望将其标题翻译成多种语言。我在想像这样的结构:
管理界面需要加载所有标题进行编辑,并可选择添加新标题。换句话说,我正在寻找一个'dict'。
我现在能想出的解决这个问题的唯一方法是使用 aGraphQLString
并将语言字符串编码为 JSON 对象。
还有一个,还是应该有?
react-router - 如何将值传递给 react-router-relay 中的根查询
假设我在带有 react-router-relay 项目的中继中有以下根查询:
的初始值$number
来自服务器,就像一个隐藏的输入,我想在我对服务器的第一个查询中使用这个数字。如何$number
使用当前的 react-router-relay API 传递给我的查询?这既不是 a 也不queryParam
是stateParam
。
relayjs - 在中继请求中发送 Cookie 头字段
看起来股票中继网络层没有在他的请求中发送 cookie 标头字段。所以我尝试通过添加这样的 Cookie 字段来添加它:
但我的帖子请求中仍然没有 Cookie 字段。如果我用“Set-Cookie”替换“Cookie”,它就在我的帖子请求中......
我需要我的服务器使用 cookie 请帮助!:)
reactjs - 仅在客户端中继 JS
我用 laravel ( https://github.com/Folkloreatelier/laravel-graphql ) 开发了一个 graphql 服务器。现在我想使用 Relay 创建一个 React 应用程序。当我创建我的第一个组件时,我收到错误:未捕获错误:不变违规:RelayQL:运行时意外调用。要么未设置 Babel 转换,要么未能识别此调用站点。确保它被逐字用作Relay.QL
.
我仍然用谷歌搜索了这个错误,我意识到我需要安装 Babel Relay 插件。但是要包含这个插件,我必须指定一个模式。但是我仍然在服务器端指定了这个模式,为什么我在客户端也需要这个?当仍然实现服务器(外部服务器,例如没有NodeJS服务器)时,是否有任何示例如何实现这一点。
感谢您的意见。
relayjs - 使用 Relay 的瞬时用户通知模式
我有一些突变(由于我无法控制的原因),结果在我的数据层中并没有立即显现,所以在执行操作后我无法从图中读取它。我希望能够向用户显示通知/警报以指示操作成功,并向他们提供在突变期间生成的一些信息(在这种情况下,它是由 3rd- 提供的跟踪代码方 API)。在这个例子之外,我确信在其他情况下我想向用户显示各种类型的通知(成功、信息、警告、错误)。
突变响应仅在输出字段中包含请求的信息,因此对我来说显而易见的策略是TransientNotification
在输出中也返回一个类型。但是在 GraphQL 模式中这样做感觉很奇怪,因为数据实际上并没有存储在任何地方。
所以我正在寻找解决这个问题的最佳方法的想法。这是一种相当常见的 UI 模式,目前感觉就像我必须跳过很多圈才能使其工作。