问题标签 [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.
reactjs - 流式中继的createFragmentContainer
我几乎不知道如何流动类型中继的现代 createFragmentContainer。
我懂了:
relay
是容器添加的道具。
组件以这种方式导出:
当我在其他一些组件中使用这个组件时(例如这样<Foo session={session} />
),我会得到这个错误:
Flow: Cannot create 'Foo' element because property 'relay' is missing in props [1] but exists in 'Props' [2]
graphql-js - Graphcool RELAY 订阅:订阅边
对于上述查询出现错误:无法在地址列表类型上查询字段“边”。注意 AddressList 是每个地址到每个用户的映射。
graphql - 中继现代缓存与存储
通读中继文档,我对网络层(https://facebook.github.io/relay/docs/en/network-layer.html)与中继存储(https:// facebook.github.io/relay/docs/en/relay-store.html)。
这是两个不同的缓存吗?哪一个会自动获得 Relay 收集的垃圾?
relayjs - 在加载查询时从中继存储加载数据
我有一个通用的Header
,Footer
它显示可能已经在中继存储中的PageComponent
数据,以及期望来自“查询”的数据的主要数据,但我不想向用户显示完整的加载屏幕,我想显示页眉、页脚和加载屏幕或中间的内容。
因此,如您所知,如果我将所有内容都包装在 aQueryRenderer
中,我将有两个选择:查询正在“加载”或数据可用:
假设我有一种方法可以手动从存储中检索数据(因为我们没有从存储中进行部分渲染之类的东西),并且我可以将该信息传递给公共Header
,并且Footer
在加载主查询时:
我发现既然我有环境,我可以做这样的事情来从商店获取信息:
但后来我有几个问题:
- QueryRenderer 在卸载时处理数据 :cry: (尽管我从中读取的信息也应该由 Query 检索,但从存储中读取更像是查询返回时的后备)
- 语法看起来很hacky
- 我必须创建一个查询并编译它(无论如何我都可以忍受)
可能我以错误的方式解决问题,也许有人做了类似的事情,可以给我一些建议。(例如,如果没有任何效果,我的计划 B 是使用getDerivedStateFromProp
将查询信息发送到自定义上下文并将其保存在那里以避免存储 GC 问题)。
TL:DR:我想在查询完成加载时从商店加载数据,然后使用从查询返回的数据。
有任何想法吗?如果有什么不清楚的地方请告诉我
graphql - 接力现代突变的动态反应
我有一个应用程序,它具有给定用户的多个配置文件。可以从应用程序的标题切换用户配置文件,以便可以从应用程序中的任何页面/路由进行切换。
因为切换可以发生在任何地方,我发现我需要为每个可能的页面检索片段,以便在突变成功后,无论哪个路由处于活动状态,页面都会更新。这既不是高性能的,也不是可扩展的。我当前的突变查询看起来像这样:
我可以为每个页面创建一个不同的突变查询,然后让突变函数根据路由查找查询……这似乎可行,但感觉很冗长,而且不是特别优雅。
有没有更简洁的方法可以动态指定我想要的片段?
relayjs - 将枚举作为变量传递给 Relay Qraphql 查询
在这个订阅查询中,我需要传递带有值的过滤器变量
但是 CREATED 是一个枚举,我如何将它作为过滤器变量传递
如果我在查询本身中硬编码,那么它的工作......例如下面的查询正在工作
我想在设置订阅时使用变量字段动态传递整个过滤器变量
在graphcool操场上它也不起作用,但是它接受我传递的查询变量
reactjs - Graphql:Typescript + Jest + Relay + Jest 似乎无法集成在一起
我正在测试使用 Typescript 和 Relay 构建的 React 应用程序。当我尝试测试继电器供电组件时,出现以下错误:
我关注 .babelrc 文件:
并遵循 Jest 配置:
我在这里错过了什么吗?
django - 一般 API 建议 - GraphQL 的 Apollo 还是 Relay Modern?
在我的项目的一个十字路口,我需要决定用我的前端 API 冒险前进的方式。
我使用的是 Django-GraphQL 后端,到目前为止是 React 前端。
我选择 React 是因为我是这种应用程序开发风格的新手,而且 React 似乎是我能找到的流行的最简单(阅读,对我来说最容易理解)实现的。
我知道想使用 Apollo 或 Relay Modern 将 GraphQl 数据提供给前端应用程序。
Relay Modern 似乎最有意义的是它的碎片选项和 graphene-django 中已经支持它的一些内置功能。
由于我在有限的时间内做这件事更多的是一种爱好,所以我需要明智地把时间花在学习上。在我深入任何一方的兔子洞之前,我想听听那些使用过任何一个/或/两个的人的一些建议/意见。
如果这是在我的道歉中发布此错误的论坛。
graphql - 从 commitMutation 的更新程序函数更新存储时出现问题
我有突变
我的更新程序功能如下。
这第一次工作得很好,但是所有先前添加的quoteLines 随之发生的突变都会更改为新的我假设这是因为newQuoteLine 一直指向同一个对象。
在更新程序函数的末尾添加以下行 unlink quoteLine from createQuoteLine 也不起作用。
非常感谢这方面的任何帮助。
reactjs - Refetch 容器重新获取,但不更新视图
我的应用程序看起来类似于下面的片段中包含的内容。
(我遗漏了很多实现细节,希望下面的代码足以解决我的问题)。
SampleApp.js
AppRefetchContainer.js
初始应用程序负载很好。单击其中一个标题应触发重新获取,以便可以根据传递的 inparams 对列表数据进行排序。当我触发重新获取时,服务器会以正确的数据进行响应,但是,组件不会重新呈现。
我怀疑我的问题在于我在这里定义片段的方式。我在初始页面加载时遇到的控制台错误是:
问题):
我不完全确定如何解释该错误。这是我无法重新渲染 UI 的原因吗?
我知道这种方法可能并不理想,但我如何
refetch
从不一定是查询片段的组件中获取?
很高兴提供任何澄清或缺失的上下文:)