问题标签 [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 回答
1078 浏览

graphql - 仅在 React 组件挂载上运行 Apollo 查询(没有 queryData 和生命周期)

我在我正在构建的一个相当大的 React 应用程序中广泛使用 Apollo,我发现自己多次面临同样的限制。

我想只在组件挂载时执行查询,以便此组件子路由的更改不会重新触发查询。我也很想保留容器模式,在容器中声明我的查询,包装我的组件并忘记它,这样我的组件本身就不会受到任何 Apollo 的影响。到目前为止,我已经能够通过制作我自己的 Apollo 高阶组件来做到这一点,该组件接受一个组件、一个查询及其选项并返回一个新组件,该组件将自动在 componentDidMount 上运行 queryData。这是代码。然后我以这种方式使用它:apolloQueryHOC(MyComponent, queryOptions);

但是在一个新组件上,我已经开始实现分页,这种方法根本不起作用/对于我实现的复杂分页逻辑来说变得太丑陋了。问题是,当我使用基本的 Apollo 容器方法时,它就像一种魅力。但它在每次路线/道具更改时运行。

所以我的问题是,有没有办法只在装载时运行“容器”查询,而不是使用withApollo等等?

0 投票
1 回答
1017 浏览

graphql - 阿波罗配置错误?

我有很多 Apollo 代码,它们在旧版本的 Apollo 库中完美运行了 6 个月以上。我正在寻求更新它以使用最新版本的 Apollo 库。

目前我的查询在 graphIQL 中运行时运行良好,但是从我自己的前端代码运行时,我收到错误:

未处理(在 react-apollo 中)错误:网络错误:网络请求失败,状态为 200 - “OK”

这是显示堆栈跟踪的屏幕截图:

在此处输入图像描述

与 Apollo 连接的初始设置中是否存在配置错误?

服务器设置

...这是我在客户端上的设置代码:

客户端设置

客户端查询

如前所述,查询从 graphIQL 运行良好。

我在连接到 Apollo 的代码中是否出错?

非常感谢大家的任何想法或信息。

0 投票
1 回答
707 浏览

apollo - Apollo:在订阅更新时更新 React 道具?

查看订阅的 Apollo 文档示例代码,我还没有看到如何使用订阅结果更新 React 道具。

来自http://dev.apollodata.com/react/subscriptions.html

请注意,此示例代码似乎省略了props用于常规查询的这部分代码 - 来自http://dev.apollodata.com/react/queries.html

...哪个 AFAIK 是更新我的 React 组件上的数据道具并触发页面刷新的正确方法。

这是来自http://dev.apollodata.com/react/subscriptions.html的完整订阅代码示例:

当结果来自非订阅查询时,如何获取此处显示的代码,以更新我的 React 组件上的数据道具并触发页面刷新COMMENT_QUERY

0 投票
2 回答
10347 浏览

reactjs - GraphQL with Apollo - 如何使用 fetchMore

我对阿波罗fetchMore方法的理解有疑问。我是这个工具的新手,文档中的示例对我来说太复杂了。我在互联网上搜索,但找不到更多(当前)示例。你能帮我写一个无限加载数据的最简单的例子吗?我有这个代码:

每次点击“加载更多”按钮后,我想获取 5 个产品和 5 个更多产品。我理解这个的想法 - 光标等,但我不知道如何实现它。(我正在使用反应)

0 投票
1 回答
304 浏览

apollo - Apollo:客户端订阅代码?

这是我的 Apollo 订阅客户端代码,基于 Githunt-React-master 示例代码:

我的订阅解析器没有被调用。也就是说,debugger放置在其中的语句永远不会停止程序执行。

我错过了什么?

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

0 投票
1 回答
1231 浏览

reactjs - 向 graphql 分页查询添加过滤选项

我在我的一个项目中使用了这个不错的apollo-universal-starter-kit。我的任务是向此页面添加过滤选项,以过滤评论超过 2 条的帖子。

入门套件使用 Apollo graphql-server作为后端。帖子的架构描述如下所示:

postsQuery用于生成帖子的分页结果

这是如何postsQuery解决的(完整的代码在这里

而且,这是一个在前端与 Reactpost_list组件一起使用的 graphql 查询(组件的完整代码在这里

这是一个很长的介绍:-),对不起

问题:

如何向post_list组件/页面添加过滤选项?我有点理解问题的 React 方面,但我不了解 graphql 方面。postsQuery(limit: $limit, after: $after)我应该向它添加一个新变量postsQuery(limit: $limit, after: $after, numberOfComments: $numberOfComments)吗?然后以某种方式在后端解决它?或者,我走错了路,应该换个方向思考?如果是这样,你能指出我正确的方向吗?:-)

先感谢您!

0 投票
1 回答
1470 浏览

reactjs - 为 React 和 Apollo 编写测试

我正在尝试使用 Apollo 从 React 编写单元测试。

我从https://dev-blog.apollodata.com/seamless-integration-for-graphql-and-react-6ffc0ad3fead找到了一个例子

尝试时出现错误:

错误:

测试:

0 投票
1 回答
738 浏览

graphql - Apollo 订阅解析器永远不会激活?

我的组件正在调用订阅查询,但由于某种原因未访问订阅解析器:其中的断点从未被激活。然而在客户端我得到 GraphQL 订阅错误:

“订阅必须返回异步迭代。收到:未定义”

这可能是什么原因造成的?

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

订阅查询

解析器

零件

0 投票
1 回答
229 浏览

reactjs - 使用 redux-observable 处理 Apollo 客户端时出错

我正在使用 Apollo-client 和 redux-observable 进行突变,到目前为止这是我的代码:

我的突变工作正常,但我似乎无法完成我的catch(error)工作。在我找到的少量文档中,它建议我放在error =>Observable of之后,但它给了我一个错误,说Observable is undefined

谢谢

更新:

如果应用程序和服务器之间的连接不起作用,它只是等待连接恢复,然后完成史诗。我希望它能够捕获并出错并停止史诗。

0 投票
1 回答
462 浏览

angular - Apollo Angular 中的直接缓存访问

我有以下服务等级:

我试图从我的服务器中删除一个用户。突变实际上在服务器上成功运行和执行,但缓存永远不会更新。我不确定我update上面的部分哪里出错了。