问题标签 [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.
graphql - 几个小时后 Graphql 订阅丢失
我已经在 aws appsync 中订阅了向反应客户端发送通知。我正在使用 lambda 调用订阅。它工作正常,但订阅在 2-3 小时后停止,然后我需要刷新客户端应用程序以使订阅再次活跃。在客户端我使用 useSubscription 钩子。我需要再次启动订阅或 setTimeout /keep alive 以便订阅不会停止工作。
我正在使用 aws SNS 向客户端发送通知。我在 SNS 日志中没有发现任何错误。
reactjs - 使用 apollo useQuery 时有没有办法禁用 apollo-link-dedup?
概述
我有一个呈现两个子组件的组件。子组件使用 apollouseQuery
向服务器发出请求。问题是因为apollo-link-dedup
在使用时包含apollo-client
,只有一个请求被发送到服务器。
我尝试将上下文设置为此处forceFetch: true
指定的内容,但这似乎不适用于钩子。
这是查询:
注意:传入唯一变量会绕过重复数据删除。任何人都可以想出的任何不那么老套的解决方案/解决方法都会有所帮助。
谢谢!
reactjs - 如何使用 useLazyQuery() 在每次点击时执行查询
使用useLazyQuery()
来自我的钩子@apollo/react-hooks
可以在单击按钮时执行查询。但我不能使用它在连续点击时执行相同的查询。
在上面sendQuery
只执行一次。
reactjs - React Apollo Client - 在查询数据进入缓存之前修改它
有没有办法在查询响应数据保存在内部缓存中之前对其进行修改?我正在使用 apollo 钩子,但这个问题与使用 apollo 客户端(以及 HOC 和组件)的任何前端方法有关。
显然onBeforeDataGoesToCache
不存在,但这正是我正在寻找的行为。结果中有一个updateQuery
函数,它基本上做了需要做的事情,但是在错误的时间。我正在寻找可以在查询突变中用作钩子或中间件的东西。
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:
- 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. - If it is possible, is it advisable?
- If not, what is the benefit of having a query structured in this way?
Thanks in advance,
graphql - 如何在 Apollo 中打开和关闭轮询?
我useQuery
像这样使用 Hook:
现在,两者都Bar
使用Baz
相同的查询。Baz
是一个侧边栏,我想在轮询处于活动状态时禁用它。
我有一个用于处理状态的全局减速器,Baz
我对其进行了如下修改:
这会停止轮询,但我不知道如何在侧边栏关闭时重新激活它(即在上面的else
块中)。
我这样做正确吗?是否有不同的方法可以使用 Apollo 切换 GraphQL 查询的轮询?
apollo - Apollo 中的 client.query 和 useQuery 有什么区别?
在我的查询中,我混合使用了远程和本地属性。本地属性具有不同的值,具体取决于:
- 远程属性
- 当前的 unix 时间戳
本地解析器根据这些规则计算本地状态。现在,我面临一个场景,我需要放弃useQuery
并使用 Apollo Clientquery
来增强灵活性。
除了结构上的差异(例如useQuery
,接受两个参数,而client.query
只接受一个参数 - 选项对象)之外,使用一个比另一个安全吗?
我发现了文档中未描述的至少一个差异。当我client.query
多次调用时,本地解析器在开始时只运行一次。使用useQuery
,数据总是被重新计算并且它具有不同的值(根据上面的#2)。
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
reactjs - 为什么我能够有条件地以一种方式调用钩子,而不能以另一种方式调用?
上下文: 当我刷新仪表板时,useHasPermission 会进行异步调用以确定用户是否有权访问 somePermission。
问题: hasPermission 最初评估为 false,但一旦异步调用完成,hasPermission 评估为 true。这会导致 useQuery、Apollo 钩子在第一次渲染时不被调用,然后在第二次渲染时被调用。显示以下错误:
“比上一次渲染时渲染了更多的钩子。”
问题: 为什么这个错误只发生在示例 A 而不是示例 B?
react-hooks - 调用 Apollo useQuery() 时出现 React Hook 错误
我在尝试使用 useQuery() 时收到以下错误。如果您需要更多详细信息,请告诉我。
错误:无效的挂钩调用。钩子只能在函数组件的主体内部调用。这可能是由于以下原因之一: 1. 你可能有不匹配的 React 版本和渲染器(例如 React DOM) 2. 你可能违反了 Hooks 规则 3. 你可能有多个 React 副本相同的应用程序请参阅有关如何调试和解决此问题的提示。
我的代码如下...
获取字符-action.js
上下文状态配置.js