问题标签 [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 投票
1 回答
1561 浏览

reactjs - 仅在第一次以惯用方式和优雅方式呈现组件时执行 react-apollo-hooks useQuery

我正在使用最优秀的react-apollo-hooks 库,特别是 useQuery 钩子:

当然,一旦我更改了 dialogOpen 状态,组件就会重新渲染,并且 graphql 查询会再次执行。根据库github repo上的建议,我重写了代码以设置一些状态以及 useEffect:

这很不错。但我能做得更好吗?

0 投票
2 回答
4363 浏览

reactjs - 你如何使用 react-apollo-hook 中的 useMutation 来执行删除突变?

我正在尝试使用useMutation来自 s 的钩子react-apollo-hook来执行删除突变,但是我很难将帖子的 ID 值传递给以下代码中的突变钩子:

我不能包含属性useMutation内部,onClick()因为钩子不能用作回调函数。我尝试使用const inputRef = useRef()和传递inputRef.current.value,但一直不确定。

0 投票
1 回答
729 浏览

reactjs - 无法在 GraphQL Apollo 客户端中读取正确的查询

在我的应用程序的一个页面上,我正在使用 graphql apollo 客户端进行两次 api 调用。一个是document,另一个menu。我需要在我的一个组件中使用菜单数据,所以我想使用readQuery它以免再次获取它。我正在做的是:

graphQL 正在做的是寻找document根查询,因此错误如下所示:

我相信这是因为菜单数据还没有。

我怎么能等到它出现呢?

0 投票
1 回答
6613 浏览

javascript - 如何测试使用 useQuery 的组件的示例?

我有一个使用 Apollo hooks lib 的useQuery钩子的 React 组件。我在测试这个组件时遇到了麻烦。这是我目前的设置。

当我运行测试时,我收到以下错误

TypeError: Cannot read property 'q' of undefined

即使数据在实际组件中返回正常。

有没有人举例说明如何使用 Apollo 钩子库中的钩子成功设置和执行带有组件的测试?

谢谢!

0 投票
1 回答
1539 浏览

reactjs - UseApolloClient 查询不会返回 fetchMore

我正在与 Apollo 在客户端进行项目。我在客户端使用 react-apollo-hooks。我对 useApolloClient 有疑问。

当我向我的客户发起查询时,我进入了 useApolloClient,我没有取回我需要的所有数据。缺少 FetchMore。如果我使用常规查询 (useQuery) 我明白了。但问题是我需要在点击时触发该查询,并且我需要使用 apollo 客户端提供的查询。

我有这个功能来获取点击数据:

并且响应不包含 fetchMore。

另一方面,经典查询返回 fetchMore。

一些帮助 ?谢谢!

0 投票
1 回答
1950 浏览

reactjs - 如何在 react-apollo-hooks 和 formik 中使用突变?

在我的许多尝试中,我尝试将 react-apollo-hooks 和 formik 一起使用,但这似乎是不可能的。表单中的数据仅在<Formik>标签中可用,否则无法在标签之外访问。我也不能同时调用我的useMutation钩子并将参数传递给它:

那么我怎么能以某种方式将参数传递给useMutation顶部的部分,从onSubmit?似乎不可能将参数传递给钩子。我认为我不能在查询名称CREATE_USER_MUTATION和具有设置的对象之外添加任何其他数据。

0 投票
0 回答
317 浏览

react-apollo - 阿波罗反应useQuery缓存工作奇怪

我有一个带有数据列表的组件。另外,我还有另一个带有 item 元素的突变。更新后,缓存更新,但列表保持不更新,直到重新渲染组件。

列表组件查询:

useQuery用于获取数据:

另外,我还有其他CategoriesItem.tsx带有突变的组件:

我使用useMutation钩子来更新它:

问题是缓存已更新,但列表组件没有使用最新的缓存版本。

0 投票
3 回答
9372 浏览

apollo-client - Apollo Hooks - 如果传递查询,useLazyQuery 不使用 onCompleted 选项

我有一个用于 apollo 惰性查询的自定义去抖钩子:

这有效,除了onCompleted选项。像这样实现钩子时:

...该onCompleted选项不会触发。但是,如果我将钩子更改为:

..并像这样实现它,它可以工作:

为什么是这样?难道我做错了什么?我有单独的逻辑需要处理传递到onCompleted不同位置的数据,因此在查询初始化时我无法传递该选项。任何帮助是极大的赞赏。

0 投票
2 回答
2112 浏览

react-apollo - 使用 useMutation 可能出现未处理的承诺拒绝警告

当我useMutation与 react native 一起使用时,我收到了一个未处理的承诺拒绝错误。这是产生问题的代码:

每当我的 graphql 服务器向客户端返回错误时,我都会收到未处理的承诺拒绝错误(下面的屏幕截图)。我可以通过添加这样的错误处理程序来使其消失,但这似乎是一种黑客行为。有什么想法吗?我做错了什么还是阿波罗人应该解决这个问题?

在此处输入图像描述

0 投票
1 回答
826 浏览

reactjs - GraphQL Apollo React Hooks 查询根据初始化顺序返回 null

我正在使用两个@apollo/react-hooks 的 useQuery 钩子来查询我的数据库,但我注意到在将它们打印到控制台时数据未定义。我尝试了很多东西,但无法修复它。然后我尝试切换钩子的顺序,并注意到第一个顺序的钩子总是返回正确的数据。

我已经在我的操场上验证了查询是正确的,因为它们都可以工作,但只有第一个可以。

在 console.logs 中,打印第一个钩子的总是返回正确的数据。因此,例如,如果我将钩子的顺序切换为...

第二个 console.log 将为我提供正确的数据。

先感谢您!我会回去使用 Apollo-React 的,但想尝试一下功能组件和钩子。

编辑:经过更多时间的测试,它似乎与加载无法按预期工作有关?似乎总是卡在加载条件下,即使它不应该。

编辑 2:我将加载逻辑和数据到 store 组件的映射移到功能组件的 render 方法中,并且它像广告宣传的那样工作。在尝试以功能组件方法呈现我的商店组件时,我仍然无法通过加载。反应没有重新渲染我的组件,因为它没有检测到变量加载一旦变为假就会导致的变化?