调用getListitems()有个疑问
来源:2-11 更多 JSX 语法细节(1)
qq_慕用6596887
2021-01-20 22:08:44
请问在ul标签里调用getListItems()这个函数时为什么不用加bind(this),bind()这个方法应该在什么情况下加?是在onClick等事件处理时才加吗?
1回答
好帮手慕久久
2021-01-21
同学你好,解答如下:
如果方法是事件处理函数,比如handleInputChange就是onChanges事件的事件处理函数,那么就需要使用bind绑定一下this。因为作为事件处理函数使用时,方法内部的this会丢失,即this不会指向组件本身,如下:
由于此时this是undefined,所以下面的代码就无法正确执行,导致项目报错:
因此,需要使用bind绑定一下this,即将事件处理函数中的this与当前react实例(组件)绑定一下,这样 this.setState方法就能正确执行了(实例上有setState方法)。
因此,此处可以当做固定用法记住即可。
祝学习愉快!
相似问题