Bläddra i källkod

Merge pull request #27 from hakumizuki/feat/clean-up-g2g-web-socket

feat: clean up g2g web socket
atsuki-t 3 år sedan
förälder
incheckning
cb16b1d150
1 ändrade filer med 13 tillägg och 1 borttagningar
  1. 13 1
      packages/app/src/components/Admin/G2GDataTransfer.tsx

+ 13 - 1
packages/app/src/components/Admin/G2GDataTransfer.tsx

@@ -74,6 +74,16 @@ const G2GDataTransfer = (): JSX.Element => {
     }
     }
   }, [socket, t]);
   }, [socket, t]);
 
 
+  const cleanUpWebsocketEventHandler = useCallback(() => {
+    if (socket != null) {
+      socket.off('admin:onStartTransferMongoData');
+
+      socket.off('admin:onStartTransferAttachments');
+
+      socket.off('admin:onFinishTransfer');
+    }
+  }, [socket]);
+
   const { transferKey, generateTransferKeyWithThrottle } = useGenerateTransferKeyWithThrottle();
   const { transferKey, generateTransferKeyWithThrottle } = useGenerateTransferKeyWithThrottle();
 
 
   const onClickHandler = useCallback(() => {
   const onClickHandler = useCallback(() => {
@@ -99,7 +109,9 @@ const G2GDataTransfer = (): JSX.Element => {
     setCollectionsAndSelectedCollections();
     setCollectionsAndSelectedCollections();
 
 
     setupWebsocketEventHandler();
     setupWebsocketEventHandler();
-  }, [setCollectionsAndSelectedCollections, setupWebsocketEventHandler]);
+
+    return cleanUpWebsocketEventHandler();
+  }, [setCollectionsAndSelectedCollections, setupWebsocketEventHandler, cleanUpWebsocketEventHandler]);
 
 
   return (
   return (
     <div data-testid="admin-export-archive-data">
     <div data-testid="admin-export-archive-data">