问题标签 [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.

0 投票
1 回答
614 浏览

javascript - 在 catch 块中获取响应

我正在从我的 graphql 端点发送data和发送(架构是在 中制作的)。我查询的方式是使用方法(在我使用HOC时作为道具提供)。errorsGrapheneclient.querywithApollo

我的做法是这样的:

当服务器中发生一些错误(由于一些错误的查询)时,我发送data并设置实际的错误消息。然后这里块被执行。的值不是我从我的服务器发送的。我怎样才能获得我在块中发送的服务器响应(就像我们在块中一样)?nullerrorscatcheerrorscatchthen

0 投票
0 回答
333 浏览

angular - 如何在 Angular 的 Apollo 示例中使用加载布尔值?

我正在尝试在等待呼叫响应时实现某种加载屏幕。在 Angular 的 Apollo 客户端示例中,他们使用“加载”布尔值

我们可以看到结果对象包含加载,一个布尔值,指示查询是否“进行中”</p>

然后他们说如下,暗示查询完成时loading会自动设置为false

当查询完成时,observable 只会发出一次,并且 loading 将被设置为 false

我猜他们在这里跳过了一些文档,因为无论如何我的加载属性总是说未定义,而且它是一个精确的副本。

我错过了什么吗?我想知道如何正确实现加载布尔值。

谢谢!

编辑:忘记添加示例: http ://dev.apollodata.com/angular2/queries.html

0 投票
1 回答
699 浏览

graphql - 来自 GraphQL 的响应解析不正确

我是新手,GraphQL并且正在一个围绕Next.jsRedux用于状态管理的项目中使用它。GraphiQL我有一个相当复杂的查询,它在界面 中产生了非常好的结果。根据查询中询问的结构,即使在呼叫的选项Network卡中似乎也有完美的响应。DevTools/graphql但是,ApolloProvider在状态 ( Redux Store) 中可用的数据正在以一种奇怪的方式进行解析。我看到很多键(所有对象嵌套都丢失了),比如

在 GraphiQL 中,我看到了一个非常好的单个JSON对象,但Apollo似乎解析不正确,并且在data.

我在我的React组件中使用简单的代码来获取:

在这里,如果我尝试登录this.props.data,所有数据似乎都很好。我错过了什么?如何才能将正确的数据放入Redux存储中?

我的 ApolloClient 创建代码如下:

如果需要任何其他信息,请告诉我。谢谢

0 投票
1 回答
7558 浏览

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 组件中?

0 投票
4 回答
1656 浏览

vue.js - 为什么 Apollo/GraphQL 返回一个不可扩展的对象?

我正在使用 VueJS 构建一个应用程序,并且我正在使用 Apollo 客户端通过 GrapgQL 服务器从数据库中获取数据。我的代码如下所示:

然后,在我的突变中,我有以下

当我尝试将另一个对象推入另一个突变中的注释数组时,我收到一条错误消息,显示为“无法添加属性 300,对象不可扩展”。我发现以下工作

但是..我不确定重复复制这样的大型数组有多有效?这是首选的方法吗?

0 投票
0 回答
397 浏览

angularjs - 将 apollo-client 与 Angular JS 应用程序集成

我尝试将 apollo-client 集成到我的 Angular 应用程序中,效果非常好。

但是,我的经理要求从我们的原型应用程序调用 GraphQL 服务器,该应用程序名为“protoApp”,它是在 Angular1 中构建的。所以我在https://github.com/apollographql/angular1-apollo中关注了您的文档

  1. 我做到了npm install angular1-apollo apollo-client --save。我可以在 node_modules 下看到 angular1-appolo、apollo-client、graphql-tag 模块。

  2. 现在,当我将“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

  1. 当我必须从 graphql-tag 导入 gql 时,如何在定义默认客户端时添加导入语句,因为导入语句在我的 angular1 应用程序中不起作用。
0 投票
1 回答
143 浏览

apollo - Apollo:在 withData 中定义“参数”?

我正在学习最新的 Apollo 库。这段withData代码改编自 Githunt-React Apollo 演示:

params进来了undefined。Apollo 文档似乎没有说明它的定义位置。

查看此 SO post,似乎params应该包含props传递给组件的内容。但它总是出现在undefined这里。

我怎样才能解决这个问题?

提前感谢所有人提供的任何信息。

0 投票
1 回答
866 浏览

reactjs - 将 RxJs takeUntil() 函数与 apollo-client 一起使用

我正在使用 Apollo-Client 对我的 GraphQL 服务器进行查询和突变。由于 Apollo 有自己的错误处理,因此实现 takeUntil 函数来取消我的查询调用和我的突变要困难得多。

使用 Apollo,我的突变如下所示:

我的突变没有问题,如果有错误,它会捕获它。这里的问题是,如果我takeUntil()像下面的示例一样添加函数,我的函数就不再起作用了。

我想知道是否有一种方法可以使用该takeUntil()功能,即使我使用具有自己的错误处理的客户端。

*如果我在突变完成之前调度另一个动作,这里的 takeUntil() 将被调用。

谢谢

0 投票
1 回答
1497 浏览

unit-testing - 测试 Apollo 客户端订阅

我最近在我的 React+Redux+ApolloGraphQL 应用程序中添加了对通过 WebSockets 订阅的支持。既然这样做了,我就不能再运行我的单元测试了。

我想出的问题是:

在我运行测试的节点环境中,似乎没有可用的 WebSocket 实现。

此错误报告中有几个建议的解决方案涉及使用节点的“ws”库,但我无法使它们工作。要么我无法正确加载库,要么我可以但应用程序无法正常工作。

我正在考虑一种根据我所在的环境加载库的方法,但是:

  1. 我不知道该怎么做
  2. 我不知道这是否是正确的方法。

有什么建议么?

0 投票
2 回答
947 浏览

graphql - 如何配置 Graphene-Django 以处理持久查询?

看起来我的公司将继续使用来自 Apollo 客户端的持久查询,如下所述:https ://dev-blog.apollodata.com/persisted-graphql-queries-with-apollo-client-119fd7e6bba5

在这篇文章中提到需要对服务器上的中间件做一些事情。我一直找不到任何关于 Graphene-Django 需要改变什么的信息。

任何人都可以提供任何建议吗?

罗伯特