问题标签 [apollo-client]
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.
graphql - react-apollo 的动态变异文档
我需要动态更改我的突变文档,以便能够在单个突变中创建多个项目。所以我有这个函数createOrderName
,它需要一个整数并能够创建正确的突变文档。例如。createOrderName(2)
得到
我的容器如下。
现在我怎样才能将一个整数值传递给这个突变,以便它创建正确的突变文档?目前它修复为 2,但我需要它更灵活,以便我可以创建任意数量的项目......
react-apollo - 使用 apollo 客户端如何设置突变 refetchQueries 的加载状态?
因此,我使用 apollo 客户端将突变添加到对象列表中。假设我有一个活动,我正在添加参与者,并且我正在使用 refetchQueries 在详细信息屏幕上与参与者一起获取刷新的活动。不幸的是,在此重新获取期间我没有获得data.loading == true
状态,这使得用户很可能会反复点击该加入参与者按钮。
react-apollo - updateQuery 在客户端订阅中应该做什么 - 道具没有更新
使用带有 graphql 订阅的 apollo 客户端,我在示例中跟随,但我没有看到来自订阅事件的 updateQuery 更新我的属性。updateQuery 的返回值是否应该自动处理 - 还是我应该自己将其保存到商店?
graphql - 如何在一个突变中创建嵌套节点?
嗨,我正在尝试在我的https://www.graph.cool/数据库上写入带有突变的数据。我的项目是一个 React 网络应用程序,我使用 Apollo 作为 graphql 客户端和 graphql-tag npm 包作为模板文字解析器。
问题是我不知道如何为嵌套数据的正确突变安排 gql 模板字符串。我的架构看起来像这样,例如注意“公司”类型的“地址”字段是“地址”对象类型的数组。
例如,我想在一个突变中同时创建一家新公司、它的新所有者和多个地址。对于地址,我还需要创建一个新联系人。
reactjs - 为什么这个使用 Jest 和 react-test-renderer 的测试会抛出错误,因为它试图解析 .graphql 文件?
我正在尝试运行一个简单的测试来使用 Jest,它似乎正在解析整个应用程序。服务文件引用了引发错误的文件。
如果我不包含graphql
在moduleNameMapper
Jest 的正则表达式中,则会尝试解析.graphql
文件本身。
app-container
解析文件时,graphql.js
来自 apollo-client 的尝试解析导入的.graphql
文件时抛出错误。
编辑:如果我使用这些错误将查询内联gql
停止。使用导入的查询有什么想法吗?
来自package.json
:
网络包配置:
测试:
错误:FAIL src/app/ tests /store.test.js ● 测试套件未能运行
第 74 行来自graphql.js
:
angular - watchQuery (Angular-Apollo) 的缓存管理
我在使用 Apollo 和 Angular 2 组合分页、预取和重新获取数据时遇到问题。我在应用程序中的预期行为是服务器和客户端之间的数据永远不应该有任何差异。我想通过在菜单中预取数据 onmouseover 来减少用户的加载时间,并在每个组件中都有一个微调器/加载屏幕来隐藏内容,直到数据被获取。如果一个组件已经被访问过,我想触发一次重取而不是预取 onmouseover,以便客户端与服务器匹配。
今天,如果我导航到一个组件并分页到例如显示该组数据的第三页,然后导航到另一个组件,然后再次返回到第一个组件(在完成新数据的获取之前),我得到来自第三页的缓存数据会触发微调器隐藏,并在订阅获得“正确”数据之前显示错误的数据集一/几秒钟。
我的问题是:有什么方法可以清除/控制特定查询/watchQuery 的缓存,以便我始终确定不在客户端显示缓存数据?
javascript - 使用 Apollo,我如何区分新创建的对象?
我的用例如下:
我有一个使用 GraphQL 查询获取的评论列表。当用户编写新评论时,它会使用 GraphQL 突变提交。然后我updateQueries
用来将新评论附加到列表中。
在 UI 中,我想突出显示新创建的评论。我试图isNew: true
在 中的新评论上添加一个属性mutationResult
,但 Apollo 在将其保存到商店之前删除了该属性(我认为这是因为isNew
在 gql 查询中未请求该字段)。
有什么办法可以做到这一点?
reactjs - react-apollo - 如何从包装组件设置查询变量?
react-apollo
提供将组件道具转换为查询变量的能力:
但我需要使用包装组件中的变量开始查询。
就像是:
更新
QUERY
看起来MyComponent
像
filter
不可为空。所以第一个请求应该有有效的变量filter
,并且这个变量应该在包装的组件中创建。
graphql - 带有重组的 Apollo GraphQL 突变
我最近遇到了这个“使用 Apollo 和 Recompose 简化 React 组件”@stubailo https://dev-blog.apollodata.com/simplify-your-react-components-with-apollo-and-recompose-8b9e302dea51
它展示了如何使用 recompose 进行 GraphQL 查询。我想知道是否有人可以提供一个使用 recompose 进行 GraphQL 突变的示例。就像提交表格或类似的东西。
非常感激。
logging - Apollo GraphQL 和 React 相当于 redux-logger
我正在学习graphql
并想知道是否存在针对apollo-client
.
我发现redux-logger
它是调试 React/Redux 应用程序的绝佳工具,我想知道是否存在类似的东西appolo-client
?
我想store
在任何给定时间查看我的状态。