react构造函数中这句怎么理解

image.png

this.handleMouseMove = this.handleMouseMove.bind(this); 

上面这一句怎么理解?handleMouseMove不是本来就在这个组件上吗?不是借用其他组件的,为什么还要在构造函数中重新绑定this。一直没有看明白,请高人指点

阅读 2.4k
3 个回答

其实你可以先尝试一下,就不bind,看看执行效果是什么样的。然后思考一下为什么。

不过最终还是要回归到文档,毕竟这个人家还是挺细致的描述了原因,已经推荐的方式。可能这是个细节,不过也提示你需要更加仔细的查看文档了。

https://reactjs.org/docs/hand...

这是js中 this 指向问题,可以参考这个: https://developer.mozilla.org...

this.handleMouseMove.bind(this) 是给 handleMouseMove 绑定上下文的,可以将这行代码删掉,再运行看看效果。对比一下就理解了。

因为 handleMouseMove 不是在MouseTrack实例里调用的, 不加bind(this)的话, 被调用时它里面的this就不是MouseTrack实例里

你试下去掉bind(this), 然后再handleMouseMove打印下this就知道了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏