React使用this.handleVote = this.handleVote.bind(this)的含义

this.handleVote = this.handleVote .bind(this)
此时的this指向新生成的实例,赋值语句右侧的表达式**this.handleVote .bind(this)**会首先找到this.handleVote()这个方法,由对象的属性查找机制(沿原型链由近及远查找)可知此处会查找到原型方法this.handleVote ( ),接着执行bind(this),此处的this指向新生成的实例,所以赋值语句右侧的表达式计算完成后,会生成一个指定了this的新方法,接着执行赋值操作,将新生成的函数赋值给实例的handleVote 属性,由对象的赋值机制可知,此处的handleClick会直接作为实例属性生成。
总结一下,也就是说上面的语句做了一件这样的事情:

把原型方法handleVote ( )改变为实例方法handleVote ( ),并且强制指定这个方法中的this指向当前的实例。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值