React之函数中的this指向
我们都知道在React中使用函数时,有两种写法,一是回调函数,二是直接调用,但需要在构造函数中绑定this,只有这样,函数中的this才指向本组件
总结一下没有绑定this的函数中的this指向
不管是在本组件的元素上调用的函数还是传递给子组件的函数,不管有没有绑定this,它们调用的都是本组件里的函数,即调用函数的this指向的是本组件
例如: class Parent extends React.Component {
constructor(props) { supper(props); }
handleSubmit() {}
render() {
return (
<div>
<button onClick={this.handleSubmit}>点击按钮</button>
<Child onFunc={this.handleSubmit} />
</div>
);
}
}
<button>与<Child />调用的都是Parent组件中的handleSubmit,不同的是handleSubmit函数中的this指向
<button>的handleSubmit中的this为undefined
<Child />的handleSubmit中的this指向Child组件的propTypes对象