Przeglądaj źródła

Use the right method for component unmount

Popov72 5 lat temu
rodzic
commit
82820373b4

+ 1 - 1
nodeEditor/src/components/nodeList/nodeListComponent.tsx

@@ -150,7 +150,7 @@ export class NodeListComponent extends React.Component<INodeListComponentProps,
         window.addEventListener("nme_refresh", this.eventNMERefresh);
     }
 
-    componentDidUnmount() {
+    componentWillUnmount() {
         window.removeEventListener('nme_refresh', this.eventNMERefresh);
     }
 

+ 6 - 9
nodeEditor/src/components/preview/previewAreaComponent.tsx

@@ -27,7 +27,13 @@ export class PreviewAreaComponent extends React.Component<IPreviewAreaComponentP
         this._onIsLoadingChangedObserver = this.props.globalState.onIsLoadingChanged.add((state) => this.setState({isLoading: state}));
     }
 
+    componentDidMount() {
+        this.eventNMERefresh = this.eventNMERefresh.bind(this);
+        window.addEventListener("nme_refresh", this.eventNMERefresh);
+    }
+
     componentWillUnmount() {
+        window.removeEventListener('nme_refresh', this.eventNMERefresh);
         this.props.globalState.onIsLoadingChanged.remove(this._onIsLoadingChangedObserver);
     }
 
@@ -49,15 +55,6 @@ export class PreviewAreaComponent extends React.Component<IPreviewAreaComponentP
         this.forceUpdate();
     }
 
-    componentDidMount() {
-        this.eventNMERefresh = this.eventNMERefresh.bind(this);
-        window.addEventListener("nme_refresh", this.eventNMERefresh);
-    }
-
-    componentDidUnmount() {
-        window.removeEventListener('nme_refresh', this.eventNMERefresh);
-    }
-
     render() {
         return (
             <>

+ 1 - 1
nodeEditor/src/components/preview/previewMeshControlComponent.tsx

@@ -91,7 +91,7 @@ export class PreviewMeshControlComponent extends React.Component<IPreviewMeshCon
         window.addEventListener("nme_refresh", this.eventNMERefresh);
     }
 
-    componentDidUnmount() {
+    componentWillUnmount() {
         window.removeEventListener('nme_refresh', this.eventNMERefresh);
     }