ApollouseLazyQuery“onCompleted”回调函数被触发两次
创始人
2024-09-09 13:30:22
0

这个问题的原因是使用了Apollo useLazyQuery hook进行查询时,组件可能会因为某种原因多次重新渲染。每次渲染时,onCompleted回调都会被触发一次。为了避免出现这种情况,我们可以使用useRef hook来跟踪每次组件渲染后的onCompleted回调函数,只有在回调函数改变时才重新执行它。

示例代码:

import React, { useEffect, useRef } from 'react';
import { useLazyQuery } from '@apollo/react-hooks';
import { QUERY } from './queries';

const MyComponent = () => {
  const [executeQuery, { data }] = useLazyQuery(QUERY);
  const onCompletedRef = useRef();
  
  // Store the onCompleted callback in a ref
  useEffect(() => {
    onCompletedRef.current = () => {
      // Perform actions after query completes
    };
  }, []);
  
  // Call the stored onCompleted callback
  useEffect(() => {
    if (data && onCompletedRef.current) {
      onCompletedRef.current();
    }
  }, [data]);

  return (
    
{data &&
{data}
}
); }; export default MyComponent;

相关内容

热门资讯

玩家实测“九游辅助器”开挂(透... 九游辅助器 无需打开直接搜索微信:136704302本司针对手游进行,选择我们的四大理由: 1、软件...
最新技巧“sohoo开挂辅助”... sohoo开挂辅助是一款专注玩家量身打造的游戏记牌类型软件,在sohoo开挂辅助这款游戏中我们可以记...
分享一款“盛世辅助”开挂(透视... 大家好,今天小编来为大家解答盛世辅助这个问题咨询软件客服可以免费测试直接加微信(136704302)...
透视软件“闽游十三水辅助”开挂... 透视软件“闽游十三水辅助”开挂(透视)辅助脚本揭秘攻略(有挂技术) 【无需打开直接搜索加薇13670...
专业讨论“开心十三张脚本”开挂... 专业讨论“开心十三张脚本”开挂(透视)辅助插件必备教程(有挂细节)《详细加薇136704302咨询》...
查到实测“悠悠互娱辅助”开挂(... 查到实测“悠悠互娱辅助”开挂(透视)辅助安装爆料教程(果真有挂)这是一款可以让一直输的玩家,快速成为...
揭秘真相“蜜瓜大厅小程序辅助”... 您好:这款蜜瓜大厅小程序辅助游戏是可以开挂的,确实是有挂的,很多玩家在这款蜜瓜大厅小程序辅助游戏中打...
透视实锤“雀神广东麻将透视视频... 透视实锤“雀神广东麻将透视视频”开挂(透视)辅助平台透明挂教程(有挂猫腻) 【无需打开直接搜索加薇1...
分享实测“吉祥填大坑脚本”开挂... 分享实测“吉祥填大坑脚本”开挂(透视)辅助透视普及教程(新版有挂)>>您好:软件加薇13670430...
重大推荐“传送屋app辅助脚本... 重大推荐“传送屋app辅助脚本下载”开挂(透视)辅助软件可靠技巧(详细教程)传送屋app辅助脚本下载...