采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
React中组件是类的形式,那this应该始终指代该组件; 即使在类的事件函数中this应该也能用, 为什么不用bind,事件函数中this就识别不了变成了undefine呢
const test = {
name:'jack',
getJack:function(){ console.log(this.name) } }
const func = test.getJack; func();
我们没有直接调用对象的方法,而是将方法声明给一个中间变量,之后利用中间变量()调用方法,此时this则失去指向,输出undefined,如果使用node环境执行js文件则输出node相关信息,如嵌入到html中则this指向window对象。
React中的bind同上方原理一致,在JSX中传递的事件不是一个字符串,而是一个函数(如:onClick={this.handleClick}),此时onClick即是中间变量,所以处理函数中的this指向会丢失。解决这个问题就是给调用函数时bind(this),从而使得无论事件处理函数如何传递,this指向都是当前实例化对象。
我和老师写的不一样用的箭头函授处理了问题
没人去调用它,函数内部this默认就是undefined。
因为那个时候this指向不是实例,并不是类中this一定都指向类
登录后可查看更多问答,登录/注册
主流新技术 React-redux,React-router4,贯穿基础语法
5.5k 22
5.6k 20
2.0k 19
4.2k 17
1.4k 13