Javascript 为什么;这";在render()内工作,但不在其他函数上工作
我现在正在学习如何反应。有人向我介绍了一个关于“this”关键字的问题。基本上我了解它是如何工作的,但在react或者ES6课程中,我发现自己很困惑。例如,我有下面的类搜索栏,方法是onFormSubmit。如果我在这个方法中尝试console.log(this.state.term),它将抛出未定义属性的错误。我知道如何解决这个错误(箭头函数、绑定等),这不是我的问题。我的问题是,我不明白为什么OnFormSubmit()方法不起作用,但如果我在render()方法中使用console.log(this.state.term),它就会起作用Javascript 为什么;这";在render()内工作,但不在其他函数上工作,javascript,reactjs,class,this,Javascript,Reactjs,Class,This,我现在正在学习如何反应。有人向我介绍了一个关于“this”关键字的问题。基本上我了解它是如何工作的,但在react或者ES6课程中,我发现自己很困惑。例如,我有下面的类搜索栏,方法是onFormSubmit。如果我在这个方法中尝试console.log(this.state.term),它将抛出未定义属性的错误。我知道如何解决这个错误(箭头函数、绑定等),这不是我的问题。我的问题是,我不明白为什么OnFormSubmit()方法不起作用,但如果我在render()方法中使用console.log
从“React”导入React;
类SearchBar扩展了React.Component{
状态={术语:'};
onFormSubmit(e){
e、 预防默认值();
console.log(this.state.term);//出现错误“无法读取未定义的属性”
}
render(){
返回(
图像搜索
this.setState({term:e.target.value})}
/>
);
}
}
导出默认搜索栏;
此
在JavaScript中非常特殊此
在JavaScript中非常特殊
import React from 'react';
class SearchBar extends React.Component {
state = {term: ''};
onFormSubmit(e) {
e.preventDefault();
console.log(this.state.term); //here is the error "cannot read of undefined property"
}
render() {
return(
<div className="ui segment">
<form onSubmit={this.onFormSubmit} className="ui form">
<div className="field">
<label>Image Search</label>
<input
type="text"
value={this.state.term}
onChange={(e) => this.setState({term: e.target.value})}
/>
</div>
</form>
</div>
);
}
}
export default SearchBar;