问题标签 [react-apollo-hooks]

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 投票
0 回答
127 浏览

graphql - 几个小时后 Graphql 订阅丢失

我已经在 aws appsync 中订阅了向反应客户端发送通知。我正在使用 lambda 调用订阅。它工作正常,但订阅在 2-3 小时后停止,然后我需要刷新客户端应用程序以使订阅再次活跃。在客户端我使用 useSubscription 钩子。我需要再次启动订阅或 setTimeout /keep alive 以便订阅不会停止工作。

我正在使用 aws SNS 向客户端发送通知。我在 SNS 日志中没有发现任何错误。

0 投票
1 回答
296 浏览

reactjs - 使用 apollo useQuery 时有没有办法禁用 apollo-link-dedup?

概述

我有一个呈现两个子组件的组件。子组件使用 apollouseQuery向服务器发出请求。问题是因为apollo-link-dedup在使用时包含apollo-client,只有一个请求被发送到服务器。

我尝试将上下文设置为此处forceFetch: true指定的内容,但这似乎不适用于钩子。

这是查询:

注意:传入唯一变量会绕过重复数据删除。任何人都可以想出的任何不那么老套的解决方案/解决方法都会有所帮助。

谢谢!

0 投票
2 回答
5997 浏览

reactjs - 如何使用 useLazyQuery() 在每次点击时执行查询

使用useLazyQuery()来自我的钩子@apollo/react-hooks可以在单击按钮时执行查询。但我不能使用它在连续点击时执行相同的查询。

在上面sendQuery只执行一次。

0 投票
1 回答
603 浏览

reactjs - React Apollo Client - 在查询数据进入缓存之前修改它

有没有办法在查询响应数据保存在内部缓存中之前对其进行修改?我正在使用 apollo 钩子,但这个问题与使用 apollo 客户端(以及 HOC 和组件)的任何前端方法有关。

显然onBeforeDataGoesToCache不存在,但这正是我正在寻找的行为。结果中有一个updateQuery函数,它基本上做了需要做的事情,但是在错误的时间。我正在寻找可以在查询突变中用作钩子或中间件的东西。

0 投票
1 回答
59 浏览

javascript - GraphQL query structure

I'm learning GraphQL and am working with Apollo (client and server) I still have some confusion with the structure of GraphQL queries.

Questions:

  1. Is it possible to merge the lines labeled #1 and #2 together? As the lines are so similar it almost feels redundant to have both.
  2. If it is possible, is it advisable?
  3. If not, what is the benefit of having a query structured in this way?

Thanks in advance,

0 投票
2 回答
6524 浏览

graphql - 如何在 Apollo 中打开和关闭轮询?

useQuery像这样使用 Hook:

现在,两者都Bar使用Baz相同的查询。Baz是一个侧边栏,我想在轮询处于活动状态时禁用它。

我有一个用于处理状态的全局减速器,Baz我对其进行了如下修改:

这会停止轮询,但我不知道如何在侧边栏关闭时重新激活它(即在上面的else块中)。

我这样做正确吗?是否有不同的方法可以使用 Apollo 切换 GraphQL 查询的轮询?

0 投票
0 回答
1591 浏览

apollo - Apollo 中的 client.query 和 useQuery 有什么区别?

在我的查询中,我混合使用了远程和本地属性。本地属性具有不同的值,具体取决于:

  1. 远程属性
  2. 当前的 unix 时间戳

本地解析器根据这些规则计算本地状态。现在,我面临一个场景,我需要放弃useQuery并使用 Apollo Clientquery来增强灵活性。

除了结构上的差异(例如useQuery,接受两个参数,而client.query只接受一个参数 - 选项对象)之外,使用一个比另一个安全吗?

我发现了文档中未描述的至少一个差异。当我client.query多次调用时,本地解析器在开始时只运行一次。使用useQuery,数据总是被重新计算并且它具有不同的值(根据上面的#2)。

0 投票
0 回答
1834 浏览

javascript - [GraphQL 错误]:消息:无法解构“未定义”或“空”的属性“id”。位置:[object Object],路径:newMessage

我是 React/Apollo 钩子的新手,我正在尝试练习这个概念以更好地理解它。

所以我尝试使用 React-Native-Gifted-Chat 和 Apollo Client 对其进行测试。

Query 和 Mutation 工作得很好,除了 Subscription。

我在 useEffect() 中注释掉 subscribeToMore() 后的应用程序图像,这是静态数据

我遇到了 useSubscription 钩子的问题,它会卡在加载状态。所以我尝试了一种不同的方法,在 useQuery 钩子中使用 subscribeToMore 方法。

现在问题开始了,我想在有人向聊天室发送消息时更新数据,这是我迄今为止遇到的错误。

[GraphQL 错误]:消息:无法解构id“未定义”或“空”的属性。位置:[对象对象],路径:newMessage - node_modules/expo/build/environment/muteWarnings.fx.js:18:23 in warn - ... 来自框架内部的另外 17 个堆栈帧

这是我的 React Native 项目的代码

应用程序.js

ChatScreen.js

0 投票
1 回答
203 浏览

reactjs - 为什么我能够有条件地以一种方式调用钩子,而不能以另一种方式调用?

上下文: 当我刷新仪表板时,useHasPermission 会进行异步调用以确定用户是否有权访问 somePermission。

问题: hasPermission 最初评估为 false,但一旦异步调用完成,hasPermission 评估为 true。这会导致 useQuery、Apollo 钩子在第一次渲染时不被调用,然后在第二次渲染时被调用。显示以下错误:

“比上一次渲染时渲染了更多的钩子。”

问题: 为什么这个错误只发生在示例 A 而不是示例 B?

0 投票
1 回答
990 浏览

react-hooks - 调用 Apollo useQuery() 时出现 React Hook 错误

我在尝试使用 useQuery() 时收到以下错误。如果您需要更多详细信息,请告诉我。

错误:无效的挂钩调用。钩子只能在函数组件的主体内部调用。这可能是由于以下原因之一: 1. 你可能有不匹配的 React 版本和渲染器(例如 React DOM) 2. 你可能违反了 Hooks 规则 3. 你可能有多个 React 副本相同的应用程序请参阅有关如何调试和解决此问题的提示。

我的代码如下...

获取字符-action.js

上下文状态配置.js