在JSX的回调中必须清楚this的含义。在JavaScript中,类方法不受默认约束。如果忘记绑定方法并传递给了时间,那么这个函数实际并非你想要的this,
一般来说应用一个方法后面没用用(),那么久应该使用bind(this)绑定该方法。
如果觉得bind(this)使用起来麻烦,那么还有2种方法可以解决这种麻烦:
1. 使用属性初始值来正确绑定回调:
onChange = ()=>{
console.info();
}
2.在回调中使用箭头函数
<Butten onClick={()=>console.info()}>
Click me
</Butten>
第二种解决方法如果作为传递给下级组件可能会进行额外的重新渲染。
一般建议在构造器中使用bind(this)或使用属性初始化来避免这种问题