gpt4 book ai didi

javascript - 使用 Apollo 客户端进行 useMutation 后未触发 useEffect

转载 作者:行者123 更新时间:2023-12-01 00:06:25 26 4
gpt4 key购买 nike

我有一个父组件,其中包含:

  const { loading, error, data } = useQuery(GET_DATA, {
notifyOnNetworkStatusChange: true
});

// Handle data
useEffect(() => {
if (loading || error) return;
setZendeskData(data);
}, [loading, error, data]);

然后在子组件中我有:

  const [createItem] = useMutation(CREATE_SESSION, {
refetchQueries: [{ query: GET_DATA }]
});

当调用createItem并且运行refetchQuery时,父组件中的useEffect不会更新数据。

确保数据始终是最新的最佳方法是什么?

最佳答案

查看 docs 中的 notifyOnNetworkStatusChange :

Let's return to our refetching example from the previous section. If you click the refetch button, you'll see that the component doesn't re-render until the new data arrives. What if we want to indicate to the user that we're refetching the photo?

我认为这与您的具体用例有关。然后,您可以从 useQuery 添加 networkStatus 作为 useEffect 依赖项。

关于javascript - 使用 Apollo 客户端进行 useMutation 后未触发 useEffect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60343088/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com