老师,请解释

来源:2-13 生命周期函数使用实例

qq_勿忘初心_H

2020-07-19 12:05:16

componentWillUnmount(){  //当组件被移除的时候,移除这个事件
		window.removeEventListener('click',() =>{
			console.log('window click')
		})
	}

箭头函数没法被移除,时因为箭头函数绑定在window上吗???

写回答

1回答

好帮手慕慕子

2020-07-19

同学你好,不是的,如下图所示,直接在addEventListener和removeEventListener中使用箭头函数,这两处的箭头并不做是指向同一个函数,所以无法清除点击事件。

http://img.mukewang.com/climg/5f13e080096fc8d111200650.jpg

removeEventListener中传递的事件函数与addEventListener是同一个事件函数时,才可以实现移出绑定的事件。所以老师定义了一个公共的方法,removeEventListener和addEventListener使用同一个函数。

http://img.mukewang.com/climg/5f13e17109fb475c11790676.jpg

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

0

0 学习 · 10739 问题

查看课程