apollo的useQuery在client.resetStore()后数据不更新。
创始人
2024-09-09 09:00:26
0

问题描述:

在使用Apollo的useQuery钩子时,当调用client.resetStore()后,数据不会更新。

解决方法:

  1. 使用Apollo的refetchQueries选项重新获取数据:
import { useQuery, gql } from '@apollo/client';

const GET_DATA = gql`
  query GetData {
    // 查询数据的GraphQL查询
  }
`;

const MyComponent = () => {
  const { loading, error, data, refetch } = useQuery(GET_DATA);

  const handleResetStore = () => {
    // 重置Apollo客户端的缓存
    client.resetStore();
    
    // 使用refetchQueries选项重新获取数据
    refetch();
  };

  if (loading) return 

Loading...

; if (error) return

Error :(

; return (
{/* 显示数据 */} {data && data.someData} {/* 重置缓存按钮 */}
); }; export default MyComponent;

在上面的示例中,我们定义了一个handleResetStore函数,当点击重置缓存按钮时,会调用client.resetStore()来重置Apollo客户端的缓存,并使用refetch()重新获取数据。

  1. 使用Apollo的useLazyQuery钩子重新获取数据:
import { useQuery, gql, useLazyQuery } from '@apollo/client';

const GET_DATA = gql`
  query GetData {
    // 查询数据的GraphQL查询
  }
`;

const MyComponent = () => {
  const { loading, error, data } = useQuery(GET_DATA);
  const [refetchData, { loading: refetchLoading }] = useLazyQuery(GET_DATA);

  const handleResetStore = () => {
    client.resetStore();
    refetchData();
  };

  if (loading || refetchLoading) return 

Loading...

; if (error) return

Error :(

; return (
{/* 显示数据 */} {data && data.someData} {/* 重置缓存按钮 */}
); }; export default MyComponent;

在上面的示例中,我们使用了useLazyQuery钩子来定义一个refetchData函数,当点击重置缓存按钮时,会调用client.resetStore()来重置Apollo客户端的缓存,并使用refetchData()重新获取数据。

这些方法都可以在调用client.resetStore()后重新获取最新的数据。

相关内容

热门资讯

透视挂!安装不了wepoker... 透视挂!安装不了wepoker(透视)开挂辅助插件(总是存在有挂)-哔哩哔哩运安装不了wepoker...
透视智能ai!hhpoker辅... 您好,wepoker怎么获得好牌这款游戏可以开挂的,确实是有挂的,需要了解加去威信【48527505...
透视稳定!xpoker辅助工具... 透视稳定!xpoker辅助工具(透视)开挂辅助技巧(本来是有挂)-哔哩哔哩该软件可以轻松地帮助玩家将...
辅助透视!xpoker辅助工具... 辅助透视!xpoker辅助工具,wepoker私人局有透视吗,法子教程(总是真的是有挂)-哔哩哔哩1...
透视透视!德普之星透视,hhp... 透视透视!德普之星透视,hhpoker视频巡查真的假的,手段教程(本来真的是有挂)-哔哩哔哩1.hh...
透视总结!wepoker透视脚... 透视总结!wepoker透视脚本免费app(透视)开挂辅助工具(确实是真的挂)-哔哩哔哩1、进入游戏...
透视实锤!佛手大菠萝辅助,so... 透视实锤!佛手大菠萝辅助,sohoo poker辅助器,秘籍教程(原来是有挂)-哔哩哔哩;1、佛手大...
透视测试!hhpoker德州透... 透视测试!hhpoker德州透视(透视)开挂辅助方法(原来是真的挂)-哔哩哔哩1、hhpoker德州...
透视软件!wepoker挂,德... 透视软件!wepoker挂,德普之星透视辅助,总结教程(切实真的有挂)-哔哩哔哩1、下载好德普之星透...
透视ai代打!aapoker发... 透视ai代打!aapoker发牌逻辑(透视)开挂辅助神器(竟然有挂)-哔哩哔哩aapoker发牌逻辑...