问题标签 [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.

0 投票
1 回答
128 浏览

relay - 继电器入门套件的简单存储

我正在使用 Facebook 的 Relay 入门工具包学习 Relay 和 GraphQL。我想为我的数据创建一个简单的存储,基本上只是为了将我的 GraphQL 突变保存在某个地方。稍后我将处理适当的 ORM 和数据库。

我可以将数据作为 JSON 转储到平面文件中吗?我该怎么做?(不需要并发、安全等,我还在学习这一切。)

提前致谢!

0 投票
0 回答
141 浏览

mysql - Laravel 和 MySQL / Facebook Relay 和模式,有人在尝试吗?

我很想看看是否有人在尝试这种技术组合。我已经开始从事 Laravel 项目,但对 Facebook Relay 的功能感到好奇。所以用户仍然以通常的方式将数据发布到 MySQL,但在检索数据时,使用 Facebook Relay 来转换页面的前端。

0 投票
2 回答
4514 浏览

react-router - 如何在 Relay Container 之间传递变量

我正在寻找将变量从父容器传递到子容器的良好语法。

假设我有这些路线,其中有一个全局小部件列表/和特定的小部件列表/widgets/:WidgetListID

注意:我使用 react-router-relay

它是相同的<WidgetList/>组件,在<WidgetListContainer/>内部呈现<Layout/>,这是我尝试传递WidgetListID变量的方式:

布局.js

WidgetListContainer.js

小部件列表.js

我直接在 WidgetList 中继容器内设置变量没有问题WidgetListID,它工作得很好,但是一旦我尝试从 WidgetListContainer 中继容器传递它,我就有一个空的数据对象{__dataID__: "VXNlcjo="}。不过,该变量在我的 getWidget() 函数中打印得很好。所以有些东西在某些时候不起作用,但我不知道是什么?

WidgetListID变量从父容器传递到子容器的好语法是什么?

0 投票
2 回答
3503 浏览

reactjs - Relay + React 上的测试策略

这些天我正在试验 React + Relay + Graphql。不幸的是,我找不到任何简单方便的方法来测试由 Relay Container 包装的 React 组件。

基本上,我想通过 TDD 实现这些目标,

  1. 渲染一个容器并测试它的内容,
  2. 更改变量并测试其对内容的更改。

与 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 _ _

如果您能分享您的解决方案,我将不胜感激。

谢谢!

0 投票
1 回答
264 浏览

graphql - 分页连接加上突变增加的边缘

RANGE_ADD在进行突变时,我无法弄清楚如何完成看似非常标准的模式。

在页面加载时说我拉入并呈现chatmessagesfirst: 10分页的连接。我现在做AddMessageMutation一个前置到同一个连接的操作。由于连接由连接first: 10的最后一项进行分页,因此现在已经为我的新边缘腾出空间,因此从渲染中删除。我当然可以在突变上添加+1 firstonSuccess但这通常会留下一个奇怪的闪烁效果,即在最后移除和重新插入边缘。

如果我想对连接进行乐观更新,这个问题似乎变得更加困难,因为没有onOptimistic回调。

由于这似乎是一种非常常见的模式,我想我会问我是否以错误的方式接近它。

问题中引用: https ://github.com/facebook/relay/issues/384

0 投票
2 回答
288 浏览

reactjs - Relay.js 中的动态子项/地图类型

我有一个Item类型。我希望将其标题翻译成多种语言。我在想像这样的结构:

管理界面需要加载所有标题进行编辑,并可选择添加新标题。换句话说,我正在寻找一个'dict'。

我现在能想出的解决这个问题的唯一方法是使用 aGraphQLString并将语言字符串编码为 JSON 对象。

还有一个,还是应该有?

0 投票
1 回答
692 浏览

react-router - 如何将值传递给 react-router-relay 中的根查询

假设我在带有 react-router-relay 项目的中继中有以下根查询:

的初始值$number来自服务器,就像一个隐藏的输入,我想在我对服务器的第一个查询中使用这个数字。如何$number使用当前的 react-router-relay API 传递给我的查询?这既不是 a 也不queryParamstateParam

0 投票
1 回答
1242 浏览

relayjs - 在中继请求中发送 Cookie 头字段

看起来股票中继网络层没有在他的请求中发送 cookie 标头字段。所以我尝试通过添加这样的 Cookie 字段来添加它:

但我的帖子请求中仍然没有 Cookie 字段。如果我用“Set-Cookie”替换“Cookie”,它就在我的帖子请求中......

我需要我的服务器使用 cookie 请帮助!:)

0 投票
1 回答
1385 浏览

reactjs - 仅在客户端中继 JS

我用 laravel ( https://github.com/Folkloreatelier/laravel-graphql ) 开发了一个 graphql 服务器。现在我想使用 Relay 创建一个 React 应用程序。当我创建我的第一个组件时,我收到错误:未捕获错误:不变违规:RelayQL:运行时意外调用。要么未设置 Babel 转换,要么未能识别此调用站点。确保它被逐字用作Relay.QL.

我仍然用谷歌搜索了这个错误,我意识到我需要安装 Babel Relay 插件。但是要包含这个插件,我必须指定一个模式。但是我仍然在服务器端指定了这个模式,为什么我在客户端也需要这个?当仍然实现服务器(外部服务器,例如没有NodeJS服务器)时,是否有任何示例如何实现这一点。

感谢您的意见。

0 投票
1 回答
389 浏览

relayjs - 使用 Relay 的瞬时用户通知模式

我有一些突变(由于我无法控制的原因),结果在我的数据层中并没有立即显现,所以在执行操作后我无法从图中读取它。我希望能够向用户显示通知/警报以指示操作成功,并向他们提供在突变期间生成的一些信息(在这种情况下,它是由 3rd- 提供的跟踪代码方 API)。在这个例子之外,我确信在其他情况下我想向用户显示各种类型的通知(成功、信息、警告、错误)。

突变响应仅在输出字段中包含请求的信息,因此对我来说显而易见的策略是TransientNotification在输出中也返回一个类型。但是在 GraphQL 模式中这样做感觉很奇怪,因为数据实际上并没有存储在任何地方。

所以我正在寻找解决这个问题的最佳方法的想法。这是一种相当常见的 UI 模式,目前感觉就像我必须跳过很多圈才能使其工作。