Merge result of useQuery & useLazyQuery - React Apollo



在探索使用@apolo/client进行react时,我使用useQuery进行首次加载&useLazyQuery用于按需加载(经过一些操作、刷新、创建等(,如下所示:

const { data} = useQuery(GET_POSTS_QUERY);
const [fetchPosts, { data: fetchedposts}] = useLazyQuery(GET_POSTS_QUERY);

我在JSX标记中呈现data,但由于名称冲突,我需要将按需提取的数据获取到其他名为fetchedposts的常量中。

在这种情况下,我将如何更新UI上的数据?我的UI使用data&不是fetchedposts

有什么办法可以合并这两个州吗。或者我应该使用useState&使用这些更新相同的?

经过进一步的研究,我知道我可以使用useQuery返回的refetch函数来执行这样的操作!

所以我在这里得到的是,在这种情况下,我可以完全避免使用LazyQuery&只需重新蚀刻即可。

const { data, loading, error, refetch} = useQuery(GET_POSTS_QUERY);
.
.
.
<button className="btn btn-raised btn-primary" onClick={() => refetch()}>
Fetch Posts on Demand
</button>

相关内容

  • 没有找到相关文章

最新更新