问题标签 [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.
reactjs - 仅在第一次以惯用方式和优雅方式呈现组件时执行 react-apollo-hooks useQuery
我正在使用最优秀的react-apollo-hooks 库,特别是 useQuery 钩子:
当然,一旦我更改了 dialogOpen 状态,组件就会重新渲染,并且 graphql 查询会再次执行。根据库github repo上的建议,我重写了代码以设置一些状态以及 useEffect:
这很不错。但我能做得更好吗?
reactjs - 你如何使用 react-apollo-hook 中的 useMutation 来执行删除突变?
我正在尝试使用useMutation
来自 s 的钩子react-apollo-hook
来执行删除突变,但是我很难将帖子的 ID 值传递给以下代码中的突变钩子:
我不能包含属性useMutation
内部,onClick()
因为钩子不能用作回调函数。我尝试使用const inputRef = useRef()
和传递inputRef.current.value
,但一直不确定。
reactjs - 无法在 GraphQL Apollo 客户端中读取正确的查询
在我的应用程序的一个页面上,我正在使用 graphql apollo 客户端进行两次 api 调用。一个是document
,另一个menu
。我需要在我的一个组件中使用菜单数据,所以我想使用readQuery
它以免再次获取它。我正在做的是:
graphQL 正在做的是寻找document
根查询,因此错误如下所示:
我相信这是因为菜单数据还没有。
我怎么能等到它出现呢?
javascript - 如何测试使用 useQuery 的组件的示例?
我有一个使用 Apollo hooks lib 的useQuery
钩子的 React 组件。我在测试这个组件时遇到了麻烦。这是我目前的设置。
当我运行测试时,我收到以下错误
TypeError: Cannot read property 'q' of undefined
即使数据在实际组件中返回正常。
有没有人举例说明如何使用 Apollo 钩子库中的钩子成功设置和执行带有组件的测试?
谢谢!
reactjs - UseApolloClient 查询不会返回 fetchMore
我正在与 Apollo 在客户端进行项目。我在客户端使用 react-apollo-hooks。我对 useApolloClient 有疑问。
当我向我的客户发起查询时,我进入了 useApolloClient,我没有取回我需要的所有数据。缺少 FetchMore。如果我使用常规查询 (useQuery) 我明白了。但问题是我需要在点击时触发该查询,并且我需要使用 apollo 客户端提供的查询。
我有这个功能来获取点击数据:
并且响应不包含 fetchMore。
另一方面,经典查询返回 fetchMore。
一些帮助 ?谢谢!
reactjs - 如何在 react-apollo-hooks 和 formik 中使用突变?
在我的许多尝试中,我尝试将 react-apollo-hooks 和 formik 一起使用,但这似乎是不可能的。表单中的数据仅在<Formik>
标签中可用,否则无法在标签之外访问。我也不能同时调用我的useMutation
钩子并将参数传递给它:
那么我怎么能以某种方式将参数传递给useMutation
顶部的部分,从onSubmit
?似乎不可能将参数传递给钩子。我认为我不能在查询名称CREATE_USER_MUTATION
和具有设置的对象之外添加任何其他数据。
react-apollo - 阿波罗反应useQuery缓存工作奇怪
我有一个带有数据列表的组件。另外,我还有另一个带有 item 元素的突变。更新后,缓存更新,但列表保持不更新,直到重新渲染组件。
列表组件查询:
我useQuery
用于获取数据:
另外,我还有其他CategoriesItem.tsx
带有突变的组件:
我使用useMutation
钩子来更新它:
问题是缓存已更新,但列表组件没有使用最新的缓存版本。
apollo-client - Apollo Hooks - 如果传递查询,useLazyQuery 不使用 onCompleted 选项
我有一个用于 apollo 惰性查询的自定义去抖钩子:
这有效,除了onCompleted
选项。像这样实现钩子时:
...该onCompleted
选项不会触发。但是,如果我将钩子更改为:
..并像这样实现它,它可以工作:
为什么是这样?难道我做错了什么?我有单独的逻辑需要处理传递到onCompleted
不同位置的数据,因此在查询初始化时我无法传递该选项。任何帮助是极大的赞赏。
reactjs - GraphQL Apollo React Hooks 查询根据初始化顺序返回 null
我正在使用两个@apollo/react-hooks 的 useQuery 钩子来查询我的数据库,但我注意到在将它们打印到控制台时数据未定义。我尝试了很多东西,但无法修复它。然后我尝试切换钩子的顺序,并注意到第一个顺序的钩子总是返回正确的数据。
我已经在我的操场上验证了查询是正确的,因为它们都可以工作,但只有第一个可以。
在 console.logs 中,打印第一个钩子的总是返回正确的数据。因此,例如,如果我将钩子的顺序切换为...
第二个 console.log 将为我提供正确的数据。
先感谢您!我会回去使用 Apollo-React 的,但想尝试一下功能组件和钩子。
编辑:经过更多时间的测试,它似乎与加载无法按预期工作有关?似乎总是卡在加载条件下,即使它不应该。
编辑 2:我将加载逻辑和数据到 store 组件的映射移到功能组件的 render 方法中,并且它像广告宣传的那样工作。在尝试以功能组件方法呈现我的商店组件时,我仍然无法通过加载。反应没有重新渲染我的组件,因为它没有检测到变量加载一旦变为假就会导致的变化?