前言
目前在开发react中,一般采用es6中类来定义组件。所以不可避免的在定义类里面的方法的时候会采用bind来显示绑定类里面方法的上下文。
举例
1 | import React from "react"; |
当我们点击button的时候,会触发onClick事件,此时在控制台会输出undefined。
按照原生方法的进行测试的时候,浏览器应该会输出绑定当前事件的DOM元素,或者是window对象。原生代码:
1 | <input id="btn" type="button" value="按钮1"> |
结果如下:
结论
看了一下源码,没看懂。大致上可能因为react中各个组件要分离,组件中的事件也是props,为了方便处理props,所以才会默认返回undefined或者null吧。 待定。。。以后看了react源码再解释吧。