问题标签 [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 查询(没有 queryData 和生命周期)
我在我正在构建的一个相当大的 React 应用程序中广泛使用 Apollo,我发现自己多次面临同样的限制。
我想只在组件挂载时执行查询,以便此组件子路由的更改不会重新触发查询。我也很想保留容器模式,在容器中声明我的查询,包装我的组件并忘记它,这样我的组件本身就不会受到任何 Apollo 的影响。到目前为止,我已经能够通过制作我自己的 Apollo 高阶组件来做到这一点,该组件接受一个组件、一个查询及其选项并返回一个新组件,该组件将自动在 componentDidMount 上运行 queryData。这是代码。然后我以这种方式使用它:apolloQueryHOC(MyComponent, queryOptions);
但是在一个新组件上,我已经开始实现分页,这种方法根本不起作用/对于我实现的复杂分页逻辑来说变得太丑陋了。问题是,当我使用基本的 Apollo 容器方法时,它就像一种魅力。但它在每次路线/道具更改时运行。
所以我的问题是,有没有办法只在装载时运行“容器”查询,而不是使用withApollo
等等?
graphql - 阿波罗配置错误?
我有很多 Apollo 代码,它们在旧版本的 Apollo 库中完美运行了 6 个月以上。我正在寻求更新它以使用最新版本的 Apollo 库。
目前我的查询在 graphIQL 中运行时运行良好,但是从我自己的前端代码运行时,我收到错误:
未处理(在 react-apollo 中)错误:网络错误:网络请求失败,状态为 200 - “OK”
这是显示堆栈跟踪的屏幕截图:
与 Apollo 连接的初始设置中是否存在配置错误?
服务器设置
...这是我在客户端上的设置代码:
客户端设置
客户端查询
如前所述,查询从 graphIQL 运行良好。
我在连接到 Apollo 的代码中是否出错?
非常感谢大家的任何想法或信息。
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
?
reactjs - GraphQL with Apollo - 如何使用 fetchMore
我对阿波罗fetchMore
方法的理解有疑问。我是这个工具的新手,文档中的示例对我来说太复杂了。我在互联网上搜索,但找不到更多(当前)示例。你能帮我写一个无限加载数据的最简单的例子吗?我有这个代码:
每次点击“加载更多”按钮后,我想获取 5 个产品和 5 个更多产品。我理解这个的想法 - 光标等,但我不知道如何实现它。(我正在使用反应)
apollo - Apollo:客户端订阅代码?
这是我的 Apollo 订阅客户端代码,基于 Githunt-React-master 示例代码:
我的订阅解析器没有被调用。也就是说,debugger
放置在其中的语句永远不会停止程序执行。
我错过了什么?
提前感谢所有人提供的任何信息。
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)
吗?然后以某种方式在后端解决它?或者,我走错了路,应该换个方向思考?如果是这样,你能指出我正确的方向吗?:-)
先感谢您!
reactjs - 为 React 和 Apollo 编写测试
我正在尝试使用 Apollo 从 React 编写单元测试。
我从https://dev-blog.apollodata.com/seamless-integration-for-graphql-and-react-6ffc0ad3fead找到了一个例子
尝试时出现错误:
错误:
测试:
graphql - Apollo 订阅解析器永远不会激活?
我的组件正在调用订阅查询,但由于某种原因未访问订阅解析器:其中的断点从未被激活。然而在客户端我得到 GraphQL 订阅错误:
“订阅必须返回异步迭代。收到:未定义”
这可能是什么原因造成的?
提前感谢所有人提供的任何信息。
订阅查询
解析器
零件
reactjs - 使用 redux-observable 处理 Apollo 客户端时出错
我正在使用 Apollo-client 和 redux-observable 进行突变,到目前为止这是我的代码:
我的突变工作正常,但我似乎无法完成我的catch(error)
工作。在我找到的少量文档中,它建议我放在error =>Observable of
之后,但它给了我一个错误,说Observable is undefined。
谢谢
更新:
如果应用程序和服务器之间的连接不起作用,它只是等待连接恢复,然后完成史诗。我希望它能够捕获并出错并停止史诗。
angular - Apollo Angular 中的直接缓存访问
我有以下服务等级:
我试图从我的服务器中删除一个用户。突变实际上在服务器上成功运行和执行,但缓存永远不会更新。我不确定我update
上面的部分哪里出错了。