Cleanup wheel event listener

This commit is contained in:
hazam 2020-01-05 01:09:10 +05:00
parent 59effbc796
commit 6cff2e7241

View file

@ -940,6 +940,8 @@ class App extends React.Component<{}, AppState> {
this.forceUpdate(); this.forceUpdate();
}; };
private removeWheelEventListener: (() => void) | undefined;
public render() { public render() {
return ( return (
<div <div
@ -1111,10 +1113,16 @@ class App extends React.Component<{}, AppState> {
width={window.innerWidth - CANVAS_WINDOW_OFFSET_LEFT} width={window.innerWidth - CANVAS_WINDOW_OFFSET_LEFT}
height={window.innerHeight - CANVAS_WINDOW_OFFSET_TOP} height={window.innerHeight - CANVAS_WINDOW_OFFSET_TOP}
ref={canvas => { ref={canvas => {
if (this.removeWheelEventListener) {
this.removeWheelEventListener();
this.removeWheelEventListener = undefined;
}
if (canvas) { if (canvas) {
canvas.addEventListener("wheel", this.handleWheel, { canvas.addEventListener("wheel", this.handleWheel, {
passive: false passive: false
}); });
this.removeWheelEventListener = () =>
canvas.removeEventListener("wheel", this.handleWheel);
} }
}} }}
onMouseDown={e => { onMouseDown={e => {