问题标签 [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.
angularjs - NativeScript 与 ApolloClient 问题
我创建了一个tns create project --ng
运行良好的标准应用程序(并添加了平台 android)
我还想使用 graphQL,所以添加了 apollo-client 和 graphql 标签:
所以现在当我构建tns build android
错误时,我得到的是......
与(据我所见)发生冲突
在添加 apollo-client 时添加 isomorphic-fetch。不太确定打字问题,但很高兴知道如何解决这个问题。
编辑:
看着指南
我在 tsconfig.json 中将 2 项设置为 false,尽管出现错误,但似乎仍在继续...
但我想知道如何正确解决这个问题。
javascript - javascript中多个嵌套连接和graphql调用的干净格式是什么?
我正在寻找有关如何干净地格式化多个嵌套的 connect 和 graphql 语句以提高可读性和易于键入的建议。如您所见,包装每个调用看起来非常笨拙。当您有多个嵌套的 connect/graphql 语句时,是否有建议的快捷方式/技巧/格式?
redux - 如何使用 Redux + Apollo Client 确定何时显示 ajax 加载器
我有一个全局加载器元素。当应用程序执行任何网络操作时,加载程序会旋转。我最近与 Apollo Client 集成,但我并不完全确定检查 Apollo 当前是否正在获取的最佳方法。
根据文档,有一个loading
属性与数据一起作为道具传递给使用graphql
HOC 的组件。问题是我的加载器存在于不使用graphql
HOC 的组件的最顶层。
在我看来,我可能需要检查state
对象以查看何时存在loading
设置为 true 的查询。这是一种合理的方法吗?
以下是我的数据供参考:
我能想到的另一种选择是对我的父组件执行查询。
作为参考,我在 React-Redux 环境中使用 Apollo Client。
javascript - Apollo 客户端:Upsert 突变仅在更新时修改缓存,但在创建时不修改
我有一个在创建或更新时触发的 upsert 查询。在更新时,Apollo 将结果集成到缓存中,但在创建时不会。
这是查询:
我的客户:
来自服务器的响应是相同的:两者id
都body
返回,但 Apollo 不会自动将新 id 添加到data
缓存对象中。
是否可以让 Apollo 自动添加新对象data
而不触发后续提取?
这是我的数据存储的样子:
更新
根据文档,该功能updateQueries
应该允许我将新元素推送到我的资产列表中,而无需再次触发我的原始获取查询。
该函数被执行,但该函数返回的任何内容都被完全忽略并且缓存没有被修改。
即使我做这样的事情:
没有什么变化。
更新#2
仍然无法更新我的资产列表。
在里面updateQueries
,这是我的previousQueryResult
样子:
但无论我返回什么,数据存储都不会刷新:
作为参考,以下是每个的asset
样子:
graphql - 带有 Graphql Apollo Server 的 graphql-tester(单元测试)
如何为 graphql 编写单元测试。我正在使用 apollo 服务器、graphql-tester 和 graphql。
当我运行测试时,它会出现以下错误
以下是单元测试。
graphql - 如何使用 Apollo 堆栈处理错误
我正在使用 Apollo Stackgraphql-server-express
和apollo-client
.
因为我的后端并不完美,所以可能会出现错误,因此我必须以该路径的错误响应请求。
到目前为止,我的主要问题是身份验证,因此我以错误响应。
在前端,我使用 apollo-client 来查询数据。
但是,如果查询的一个属性以错误响应,则只会调用 catch 函数。甚至其余属性的数据也被传输,我在 Chrome 开发工具的网络选项卡中看到了这一点。in 不是 catch 函数中的错误对象。
我的尝试适用于 GraphiQL,我在同一个对象中得到错误和数据。
那么如何在不丢失整个请求的情况下为属性抛出错误呢?
reactjs - Apollo 客户端 - 错误:在查询映射中找不到查询
我对 Apollo Client-React 有疑问。
我想在用户单击登录按钮时发送登录请求。
我的代码是:
控制台显示:
未捕获(承诺)错误:网络错误:在查询映射中找不到查询。
有谁能够帮我?
更新:
我使用了这个版本:
- “阿波罗客户端”:“^0.6.0”
- “反应阿波罗”:“^0.9.0”
graphql - 为什么我的 graphql 高阶组件使用 Apollo 客户端触发选项 11 次?
我在指数反应本机应用程序中使用 apollo 客户端,并注意到 graphql 选项方法运行了 11 次,这是为什么呢?这是错误还是性能问题?这正常吗?它是否也运行了 11 次查询?
查看文档http://dev.apollodata.com/react/queries.html中的示例
通常,查询的变量将由包装组件的 props 配置;无论在您的应用程序中使用该组件的任何位置,调用者都会传递参数。所以 options 可以是一个获取外部组件 props 的函数(按惯例为ownProps):
默认情况下,graphql 将尝试从 ownProps 的查询中提取任何缺失的变量。所以在我们上面的例子中,我们可以使用更简单的 ProfileWithData = graphql(CurrentUserForLayout)(Profile);。但是,如果您需要更改变量的名称,或计算值(或只是想更明确地了解事物),则可以使用 options 函数。
graphql - Apollo 客户端给了我一个错误“商店已经包含一个 id”——这是什么意思?
在一个反应原生项目中,我正在创建一个对象,然后将屏幕重定向到新创建的对象的详细信息页面,我收到此错误:
可能的未处理承诺拒绝(id:0):网络错误:存储错误:应用程序尝试写入没有提供 id 的对象,但存储已包含此对象的 XYZ id。
查看数据库,我看到该项目已在上一步中正确创建。通过列表导航到同一屏幕和项目(不是在创建和重定向之后)似乎工作正常。我是否必须等待或以某种方式为阿波罗商店设定某种时间才能保持正确?
我正在使用标准的 apollo 客户端 @graphql 绑定/包装
gql:
这是一个代码片段