当路由到不同的页面时,应该删除 eventListener,但事实并非如此。 发生这种情况可能有什么原因吗? 该函数正在被调用。
componentDidMount() {
window.document.addEventListener("keydown", (e) => {
Resultaat(e.keyCode)
})
}
componentWillUnmount() {
window.document.removeEventListener("keydown", () => { })
}
最佳答案
添加添加/删除事件监听器时,需要提供相同的函数 你可以这样做
componentDidMount() {
window.document.addEventListener("keydown", this.handleKeyDown)
}
而不是像这样删除它
componentWillUnmount() {
window.document.removeEventListener("keydown", this.handleKeyDown)
}
您无法将匿名函数传递给窗口事件监听器
希望对你有帮助
关于javascript - 函数调用时事件监听器不会被删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58219504/