- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们有一个 graphql 服务器(不是用 javascript 编写的)服务于一个分页的对象列表。我们正在尝试符合中继规范,但我们遇到了一个有趣的案例,可以使用说明。
具体来说:是否允许游标依赖于连接的其他输入?类似于 https://github.com/graphql/graphql-relay-js/issues/20 ,我们的连接采用 sort_key 参数来确定返回列表的排序顺序。根据指定的排序顺序,对象的边可能返回不同的游标值(因为服务器在每种情况下都需要不同的信息来确定下一个对象)。然而,仔细阅读https://facebook.github.io/relay/docs/guides-mutations.html#range-add表明这是不允许的;返回新创建的边的突变必须返回一个可以普遍应用于该边可能出现的所有可能列表的单个游标? facebook是如何解决这个问题的?
最佳答案
我有同样的问题。所以,我决定写一篇 npm
包来处理这个问题。
您可以使用 fast-relay-pagination用于排序的 npm 包,向后和向前 pagination
和过滤器 Mongoose
型号或 MongoDB
目的。
此包改进 graphql-relay
延迟加载 通过使用 Mongoose
或 MongoDB
查找和限制。如您所知,graphql-relay's
connectionFromArray
获取所有数据并对数据进行切片,对于大量数据来说效率不高。
您可以在下面看到一个示例:
...
import {
fetchConnectionFromArray
} from 'fast-relay-pagination'
...
export default{
type: orderConnection.connectionType,
args: {
...connectionArgs,
orderFieldName: {
type: GraphQLString,
},
sortType: {
type: GraphQLInt,
},
},
resolve: needAdmin(async (_, args) => {
let orderFieldName = args.orderFieldName || '_id'
let sortType = args.sortType || -1
let after = args.after
let before = args.before
let filter = args.filter
let first = args.first
let last = args.last
return fetchConnectionFromArray({
dataPromiseFunc: SampleModel.find.bind(SampleModel), // required
filter, // optional (for using filter on model collection) - for example => {username: 'test'}
after, //optiona
before, // optional
first, //optional
last, // optional
orderFieldName, // optional
sortType, // optional
})
}),
}
关于relayjs - 如何在 Relay 中管理游标和排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34948216/
当使用TypeScript时,babel-plugin-relay和relay-compiler不会解析我们的graphql调用。我们的 TS 生成的 JS 文件如下所示,针对 ES2015: var
我正在使用react-router-relay在一个项目中。考虑到每个组件基本上最终都会有一个与根查询同名的片段,所以这个设计对我来说似乎不太合适。难道每个组件不应该能够在根查询下拥有任意类型的唯一命
当我尝试实例化一个扩展Relay.Mutation的类时,我遇到了一个非常奇怪的react-relay类型错误。我使用 create-react-app my-app --scripts-versio
在 Relay 应用中处理全局应用程序状态的当前建议或最佳实践是什么?我需要管理一些严格属于客户端的状态(例如,导航面板是打开还是关闭),以及一些无法通过 GraphQL 获得的 RESTful 数据
我是 Relay 的新手,我遇到了片段上嵌套数据的问题。 当我在 graphiql 中测试时,以下查询返回正确的数据,因此我确信我的模式是正确的。 { viewer { customer
我有 2 个在主机上运行的从属 mysql 实例,它们从不同主机上的主服务器复制数据。所有实例都是 mysql 5.6。即使没有来自主实例的更改,从实例的中继 bin 日志也会不断变化。以下是 sla
我们有一个 graphql 服务器(不是用 javascript 编写的)服务于一个分页的对象列表。我们正在尝试符合中继规范,但我们遇到了一个有趣的案例,可以使用说明。 具体来说:是否允许游标依赖于连
如何在 Relay Modern 中取消订阅? 我已经按照 How to GraphQL React + Relay 上的订阅教程进行操作但它没有提及您如何取消订阅,也没有提及 Relay Moder
我开始使用 Relay 构建项目而且我[对我的项目结构有点困惑(我确实使用同构方法)。 这是我正常的 React 项目结构: -- project |-----src |
我一直在使用 react 和 relay 开发一个应用程序,现在我坚持实现身份验证。 我知道您可以通过 GraphQL 解析函数中可用的上下文将值传递给每个 graphql 请求。 我对传递什么以及如
为什么需要以及如何使用 viewer在 Relay.js 中正确吗? 我花了一周的时间来尝试理解 Relay.js。我现在对 GraphQL 很好,我也很了解它,但是我在将 GraphQL 和 Rel
我是 Relay 的新手,仍在努力解决它。根据我的理解,Relay 将查询与组件联系起来。这样,您可以说需要从 GraphQL 服务器提供组件 x、y 和 z。据我了解,官方react-relay库将
我正在考虑在我的应用程序中使用 graphql/relay 解决方案,我想知道哪些公司在生产中使用 graphql/relay(除了 facebook)。您能否在此列出使用它的公司及其案例研究。 谢谢
我的用例是,我有一个 Node 应用程序,它使用来自 CMS 的数据,并且在该 CMS 中,我让用户能够选择 React 组件作为“布局”。我希望 Relay 能够从该动态选择组件中获取 GraphQ
我在应用程序中使用 GraphQL + Relay,发现自己用 createFragmentContainer 包装了几乎所有组件,包括 DOM 层次结构中非常低的组件(通常是功能组件)。 这是使用片
{这是现代接力赛} 在我的 UserQuery.js 中, class UserQuery extends Component { render () { return (
这些天我正在尝试 React + Relay + Graphql。不幸的是,我找不到任何简单方便的方法来测试 Relay Container 包装的 React 组件。 基本上,我希望通过 TDD 实
我已经阅读了许多基于redux和relay的文章/文档,但我仍然很困惑这两个库有何不同? 这两个库的优点和缺点是什么? GraphQL 在中继中的具体作用是什么? 哪个库更适合 CRM/ERP 等企业
我不明白如何在 Graphite 烯的 ConnectionField 中使用自定义字段。我有类似的东西: class ShipConnection(Connection): extra =
我正在尝试使用 GraphQL 和 React Relay 构建一个应用程序。 作为此过程的一部分,我创建了一个具有以下规范的根查询: query { AllServices { edge
我是一名优秀的程序员,十分优秀!