在使用@apollo/client探索react时,我使用useQuery进行首次加载,使用useLazyQuery进行按需加载(在执行一些操作、刷新、创建等操作之后)。如下所示:
const { data} = useQuery(GET_POSTS_QUERY);
const [fetchPosts, { data: fetchedposts}] = useLazyQuery(GET_POSTS_QUERY);我在我的JSX标记中呈现data,但是由于名称冲突,我需要获取按需获取的数据到其他名为fetchedposts的const。
在这种情况下,我将如何更新我的UI上的数据?我的UI使用的是data而不是fetchedposts!
有没有什么方法可以合并这两个状态。或者我应该使用useState使用单独的状态,并使用这些更新相同的状态?
发布于 2020-07-19 21:30:19
经过进一步的研究,我知道我可以利用useQuery返回的refetch函数来执行这样的操作!
所以我在这里得到的是,在这种情况下,我可以完全避免使用useLazyQuery &只需使用refetch。
const { data, loading, error, refetch} = useQuery(GET_POSTS_QUERY);
.
.
.
<button className="btn btn-raised btn-primary" onClick={() => refetch()}>
Fetch Posts on Demand
</button>https://stackoverflow.com/questions/62980770
复制相似问题