问题标签 [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.
javascript - 在 catch 块中获取响应
我正在从我的 graphql 端点发送data
和发送(架构是在 中制作的)。我查询的方式是使用方法(在我使用HOC时作为道具提供)。errors
Graphene
client.query
withApollo
我的做法是这样的:
当服务器中发生一些错误(由于一些错误的查询)时,我发送data
并设置实际的错误消息。然后这里块被执行。的值不是我从我的服务器发送的。我怎样才能获得我在块中发送的服务器响应(就像我们在块中一样)?null
errors
catch
e
errors
catch
then
angular - 如何在 Angular 的 Apollo 示例中使用加载布尔值?
我正在尝试在等待呼叫响应时实现某种加载屏幕。在 Angular 的 Apollo 客户端示例中,他们使用“加载”布尔值
我们可以看到结果对象包含加载,一个布尔值,指示查询是否“进行中”</p>
然后他们说如下,暗示查询完成时loading会自动设置为false
当查询完成时,observable 只会发出一次,并且 loading 将被设置为 false
我猜他们在这里跳过了一些文档,因为无论如何我的加载属性总是说未定义,而且它是一个精确的副本。
我错过了什么吗?我想知道如何正确实现加载布尔值。
谢谢!
graphql - 来自 GraphQL 的响应解析不正确
我是新手,GraphQL
并且正在一个围绕Next.js
并Redux
用于状态管理的项目中使用它。GraphiQL
我有一个相当复杂的查询,它在界面
中产生了非常好的结果。根据查询中询问的结构,即使在呼叫的选项Network
卡中似乎也有完美的响应。DevTools
/graphql
但是,ApolloProvider
在状态 ( Redux Store
) 中可用的数据正在以一种奇怪的方式进行解析。我看到很多键(所有对象嵌套都丢失了),比如
在 GraphiQL 中,我看到了一个非常好的单个JSON
对象,但Apollo
似乎解析不正确,并且在data
.
我在我的React
组件中使用简单的代码来获取:
在这里,如果我尝试登录this.props.data
,所有数据似乎都很好。我错过了什么?如何才能将正确的数据放入Redux
存储中?
我的 ApolloClient 创建代码如下:
如果需要任何其他信息,请告诉我。谢谢
javascript - 如何在 Vanilla JS 中使用 Apollo 客户端创建 GraphQL 订阅
最近 Apollo Client 发布了一个 websocket 订阅功能,但到目前为止,我只看到它通过在 componentWillMount 生命周期钩子中使用 subscribeToMore 启动查询来使用。
这是取自https://dev-blog.apollodata.com/tutorial-graphql-subscriptions-client-side-40e185e4be76#0a8f的示例
但是subscribeToMore是特定于 Apollo Client React 集成的。在VanillaJS中有一个 watchQuery,但它声明它不应该用于订阅。还有一个订阅可能是我正在寻找的,但没有记录。
有什么方法可以使用 Apollo GraphQL 客户端来处理订阅,而不需要在 React 组件中?
vue.js - 为什么 Apollo/GraphQL 返回一个不可扩展的对象?
我正在使用 VueJS 构建一个应用程序,并且我正在使用 Apollo 客户端通过 GrapgQL 服务器从数据库中获取数据。我的代码如下所示:
然后,在我的突变中,我有以下
当我尝试将另一个对象推入另一个突变中的注释数组时,我收到一条错误消息,显示为“无法添加属性 300,对象不可扩展”。我发现以下工作
但是..我不确定重复复制这样的大型数组有多有效?这是首选的方法吗?
angularjs - 将 apollo-client 与 Angular JS 应用程序集成
我尝试将 apollo-client 集成到我的 Angular 应用程序中,效果非常好。
但是,我的经理要求从我们的原型应用程序调用 GraphQL 服务器,该应用程序名为“protoApp”,它是在 Angular1 中构建的。所以我在https://github.com/apollographql/angular1-apollo中关注了您的文档
我做到了
npm install angular1-apollo apollo-client --save
。我可以在 node_modules 下看到 angular1-appolo、apollo-client、graphql-tag 模块。现在,当我将“angular-apollo”作为依赖项添加到我的应用程序模块中时,当我运行此应用程序时它失败了 -
/li>
在浏览器中,我看到
未捕获的错误:[$injector:modulerr] http://errors.angularjs.org/1.5.5/ $injector/modulerr?p0=CompassApp&p1=Error…0yc%20(http%3A%2F%2F127.0.0.1% 3A9090%2Fscripts%2Fangular.min.js%3A21%3A332)
我尝试首先使用 require('angualr-apollo') 要求模块,然后注入 angular 模块,我看到 Uncaught ReferenceError: require is not defined
- 当我必须从 graphql-tag 导入 gql 时,如何在定义默认客户端时添加导入语句,因为导入语句在我的 angular1 应用程序中不起作用。
reactjs - 将 RxJs takeUntil() 函数与 apollo-client 一起使用
我正在使用 Apollo-Client 对我的 GraphQL 服务器进行查询和突变。由于 Apollo 有自己的错误处理,因此实现 takeUntil 函数来取消我的查询调用和我的突变要困难得多。
使用 Apollo,我的突变如下所示:
我的突变没有问题,如果有错误,它会捕获它。这里的问题是,如果我takeUntil()
像下面的示例一样添加函数,我的函数就不再起作用了。
我想知道是否有一种方法可以使用该takeUntil()
功能,即使我使用具有自己的错误处理的客户端。
*如果我在突变完成之前调度另一个动作,这里的 takeUntil() 将被调用。
谢谢
unit-testing - 测试 Apollo 客户端订阅
我最近在我的 React+Redux+ApolloGraphQL 应用程序中添加了对通过 WebSockets 订阅的支持。既然这样做了,我就不能再运行我的单元测试了。
我想出的问题是:
在我运行测试的节点环境中,似乎没有可用的 WebSocket 实现。
此错误报告中有几个建议的解决方案涉及使用节点的“ws”库,但我无法使它们工作。要么我无法正确加载库,要么我可以但应用程序无法正常工作。
我正在考虑一种根据我所在的环境加载库的方法,但是:
- 我不知道该怎么做
- 我不知道这是否是正确的方法。
有什么建议么?
graphql - 如何配置 Graphene-Django 以处理持久查询?
看起来我的公司将继续使用来自 Apollo 客户端的持久查询,如下所述:https ://dev-blog.apollodata.com/persisted-graphql-queries-with-apollo-client-119fd7e6bba5
在这篇文章中提到需要对服务器上的中间件做一些事情。我一直找不到任何关于 Graphene-Django 需要改变什么的信息。
任何人都可以提供任何建议吗?
罗伯特