关于视频中handleInputValue函数this指向问题和bind(this)指向不太清楚 为什么一个是undifind一个指向的就是子类

来源:2-6 React 中数据驱动的设计思想和事件绑定(2)

weixin_慕村1291783

2020-12-15 15:30:31

# 具体遇到的问题

# 报错信息的截图

# 相关课程内容截图

# 尝试过的解决思路和结果

不可以直接写 onChange={handleInputValue}吗 为什么还要加this 

写回答

1回答

好帮手慕久久

2020-12-15

同学你好,这是react绑定事件时,一个常见的现象,即如下这样绑定事件时,会导致this丢失(指向undefined):

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

而bind方法可以用来改变this的指向,如下:

示例1:

http://img.mukewang.com/climg/5fd8682b0933064a04710139.jpghttp://img.mukewang.com/climg/5fd8683309dba38b06570115.jpg

示例2:

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

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

所以为了解决this问题,可以使用bind为事件处理函数重新绑定一下this:

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

而在render方法中,this就是指向该组件的,即指向todoList,所以handleInputChange中的this就指向了todoList。

该this问题是react框架底层原理造成的,是一个固定的现象,同学记住即可。

祝学习愉快!

0

0 学习 · 15276 问题

查看课程