最近学习react事件处理中的bind,有一句读不懂求解答

https://img1.mukewang.com/5c2b1c5100017a0705240483.jpg

this.handleLoginClick = this.handleLoginClick.bind(this);

这行代码到底实现了什么功能?求大神通俗地讲解一下


泛舟湖上清波郎朗
浏览 422回答 1
1回答

手掌心

首先,这是在ES6的写法前提下。根本目的就是把环境跟函数绑定。既然要手动才能绑定环境跟函数,那么实际上就是说在不手动绑定的情况下,函数会丢失当前环境,也就是this。对于你这个函数而言,你的期望是在函数执行时this是指向你这个组件的,但是真实情况下,this是指向全局,也就是window的。所以你需要手动绑定这个this。这个你可以通过在函数执行时打印出两种情况的this来看出区别。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript