Skip to content

Commit 66190fe

Browse files
cottomCompuIves
authored andcommitted
fix: wrong use of addEventListener/removeEventListener (codesandbox#897)
1 parent 0cf30c0 commit 66190fe

File tree

1 file changed

+11
-10
lines changed
  • packages/app/src/app/components/ContextMenu

1 file changed

+11
-10
lines changed

packages/app/src/app/components/ContextMenu/index.js

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,26 +12,27 @@ class ContextMenu extends React.Component {
1212
y: 0,
1313
show: false,
1414
};
15-
}
16-
onContextMenu = event => {
17-
event.preventDefault();
18-
this.mousedown = window.addEventListener('mousedown', mousedownEvent => {
15+
this.mousedownCb = mousedownEvent => {
1916
const { show } = this.state;
2017

2118
if (show && this.el) {
2219
if (!this.el.contains(mousedownEvent.target)) {
2320
this.close();
2421
}
2522
}
26-
});
27-
28-
this.keydown = window.addEventListener('keydown', keydownEvent => {
23+
};
24+
this.keydownCb = keydownEvent => {
2925
const { show } = this.state;
3026
if (keydownEvent.keyCode === 27 && show) {
3127
// Escape
3228
this.close();
3329
}
34-
});
30+
};
31+
}
32+
onContextMenu = event => {
33+
event.preventDefault();
34+
window.addEventListener('mousedown', this.mousedownCb);
35+
window.addEventListener('keydown', this.keydownCb);
3536

3637
this.setState({
3738
show: true,
@@ -41,8 +42,8 @@ class ContextMenu extends React.Component {
4142
};
4243

4344
close = () => {
44-
window.removeEventListener('keydown', this.keydown);
45-
window.removeEventListener('mousedown', this.mousedown);
45+
window.removeEventListener('keydown', this.keydownCb);
46+
window.removeEventListener('mousedown', this.mousedownCb);
4647
this.setState({
4748
show: false,
4849
});

0 commit comments

Comments
 (0)