问题标签 [relaymodern]
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.
relayjs - 仅手动中继现代运行 RefetchContainer
我仍然没有太多使用现代继电器的经验,并且正在尝试实施搜索。
为此,我使用“RefetchContainer”:
问题只是当您启动应用程序时查询已经执行,没有输入。
是否可以禁止自动查询并仅使用命令执行它this.props.relay.refetch
?
reactjs - 如何在 Relay Modern 中将 FragmentContainer 与 RefetchContainer 结合使用
我正在将一些中继类代码迁移到现代中继。现在我很难迁移分页实现。我正在使用页面和偏移方法。这是我现在拥有的:
游戏.jsx:
播放器.jsx:
我必须在 FragmentContainer 和 RefetchContainer 上做错了,它们应该被组合起来,但我不知道如何实现我想要的。有人可以启发我吗?
reactjs - QueryRenderer 之外的中继现代 FragmentContainer
可能吗?我们可以FragmentContainer
在 QueryRenderer 之外使用吗?我想要实现的目标:我有RefetchContainer
一个SectionList
. 每个部分中的每个项目都是一个FragmentContainer
. 当我从一个部分中选择一个项目时,我想打开一个新屏幕,在其中显示FlatList
这些项目中的一个。我从SectionList
on item select 传递的数据是一个FragmentContainer
. 因此我看不到数据,所以我需要使用片段。如果我只在 中使用片段,FlatList
我会从RelayFragmentContainer
. 所以我添加了一个 QueryRenderer 作为父级FlatList
,我再次请求相同的单个部分。但这提出了一个额外的QueryRenderer
要求。我想显示上一个屏幕的数据。至少我将这个列表FragmentContainer
作为 cacheConfig 传递并从fetchQuery
方法但是,json 与响应 json 不同,因此它不是原始数据,而是已经__fragments
,因此Relay
无法解析它。
reactjs - 使用 Relay Modern 的 ag-Grid 无限滚动
我想使用 ag-Grid 的getRows
功能实现无限滚动。successCallback
此函数在从服务器获取数据时调用。我正在使用 Relay Modern,他们公开了一个loadMore
从 GraphQL 服务器获取其他项目的函数。这里的问题是 Relay 会将新数据传递给我的组件的道具(在这种情况下是一个列表),我将无法让 ag-Grid 知道已获取的新数据是什么(通过传递新项目到successCallback
)。
这里有没有人实现过类似的东西?
javascript - Relay-Modern FragmentContainer 数据未填充
我正在使用 Relay Modern 尝试将数据加载到FragmentContainer
. 我正在使用熟悉的 Container (Smart) / Presenter (Dumb) 模式,并且数据没有按预期传递到我的子 Container 中。但是,如果我使用 Relay 的@relay(mask: false)
指令来查看片段的数据是否被正确加载QueryRenderer
,那么片段数据就在那里。
我不明白为什么没有将数据发送到我的容器。任何帮助深表感谢。
ScreenContainer.js
(呈现QueryRenderer
):
ScreenPresenter.js
:
最后,NestedFragmentContainer.js
:
此外,每当NestedFragmentContainer
渲染时,我都会看到它的user
prop 为undefined
. 但是,console.log()
说明它的值其实是null
,而不是undefined
。
有谁知道为什么 FragmentContainer 没有用它的数据呈现?
reactjs - Relay Modern 与 Redux 集成
我已经达到了我必须处理react
组件之间的客户端状态的情况,这意味着我需要将数据从子组件传递到父组件(找到相邻组件的解决方法)。
- 你认为 Relay Modern 的 Redux 实现是匹配的并且值得拥有多个商店吗?(或者这是一个好的实践?)
- 如果我更新后端并在需要时将数据返回到其他
react
组件(中继查询),这是一个最佳实践?(这种数据仅由当前用户需要,因此与应用程序上下文无关)
我想要一个抽屉,将过滤器全局应用于所有应用程序。
javascript - 中继现代嵌套分页
我有一个根查询songs
,它位于分页容器中。然后,我在歌曲上有一个嵌套属性,称为comments
我也想分页,因为我不想一次为每首歌曲加载 10k 条评论。
歌曲容器.js:
评论容器.js
如何为评论编写 connectionConfig?我试过这个:
但是因为评论嵌套在歌曲上,所以它会抛出一个错误,指出查询在根目录上不存在。
environment - 有没有办法清除接力现代环境
基于此:https ://github.com/facebook/relay/blob/e5e07c3f12e5de1be584325498b94ed91a2580ec/docs/Modern-RelayEnvironment.md ,有没有办法清除中继的环境?
reactjs - 在 Relay 现代 fragmentContainer 中注入变量
我正在尝试将postId变量注入到 fragmentContainer 中。
我已经用with-relay-modern示例开始了这个项目。
变量 $postId 没有正确注入,所以我defaultValue: "UG9zdDoy"
同时使用了,但目标是从 props 中获取 postId 的值。
页面 - singlePost.js
组件 - postDetail.js
知道如何实现这一目标吗?删除 **defaultValue: "UG9zdDoy" ** 并重新编译会出现以下错误:
RelayCompilerScope:未找到所需参数的值$postId: String!
java - 使用 Relay Modern 和 GraphQL 上传文件
因此,我已经研究了两天,对 Java 的了解还不够,无法完全实现解决此问题的方法。在客户端,我找到了一些优秀的用户文档,并相信我有正确的部分,但是在处理服务器中的入站 multipart/formdata 时,我有点迷茫。
我的应用程序的基础是基于HowToGraphQL Java教程,因为我觉得他们在组织代码库方面做得很好,并且使事情变得非常简单易懂。不幸的是,文件上传不是他们涵盖的领域,并且根据 graphql-java 包的维护者,不存在直接支持此功能的计划。
然而,这并不是说这是不可能的。GraphQL 规范旨在成为指导方针,社区如何选择调用规范取决于他们。许多人成功地结合了文件上传,尽管通常是通过包含自定义中间件
不幸的是,对我来说,障碍可能只是缺乏领域知识。我主要使用 JavaScript 和 Python 工作,并且主要有 Java 的学术经验。不完全确定从哪里开始,但我想我需要追踪我认为绑定到 SimpleGraphQLServlet 类的响应对象,并找到一种方法来提取入站文件对象。
希望获得更多专家建议或帮助提出解决方案。我还没有在 SO 上找到任何可靠的基于 Java 的片段来解决这个问题,因此解决这个问题可能会使其他尝试采用这个平台的人受益。
编辑:
可能找到了一种方法来做到这一点,但仍然没有制定出具体细节。在扩展 SimpleGraphQLServlet 类的 GraphQLEndpoint 类中,我们公开了 doPost() 方法。然而,提取数据最终会导致一系列错误,第一个错误是通过 @MultipartConfig 注释解决的,但是下一个错误让我再次停滞不前。“缺少 MultiPart 请求的内容。”
这个 doPost() 方法似乎是在发生突变后调用的,所以即使我设法提取了文件数据,似乎数据也会放在错误的位置。此外,我想知道丢失的内容是否是 Mutation 消耗帖子数据的结果,假设它甚至到达了。
然而,所有其他参数都完好无损,因此只需访问此文件即可。