Reputation: 21
class SearchBar extends React.Component {
state = { term: "Search" };
onFormSubmit(event) {
event.preventDefault();
console.log(this);
}
render() {
return (
<div className="ui segment">
<form onSubmit={this.onFormSubmit} className="ui form">
<div className="field">
<label>Image Search</label>
<input
type="text"
onChange={(e) => this.setState({ term: e.target.value })}
onClick={(e) => this.setState({ term: "" })}
value={this.state.term}
/>
</div>
</form>
</div>
);
}
}
TypeError: Cannot read property 'state' of undefined onFormSubmit D:/Projects/pics/src/SearchBar.js:8 5 | 6 | onFormSubmit(event) { 7 | event.preventDefault();
8 | console.log(this.state.term); | ^ 9 | } 10 | 11 | render() {
Upvotes: 0
Views: 48
Reputation: 979
You need to learn about "this" in js.
class SearchBar extends React.Component {
state = { term: "Search" };
onFormSubmit = (event) => {
event.preventDefault();
// console.log(this);
console.log(event);
}
render() {
return (
<div className="ui segment">
<form onSubmit={this.onFormSubmit} className="ui form">
<div className="field">
<label>Image Search</label>
<input
type="text"
onChange={(e) => this.setState({ term: e.target.value })}
onClick={(e) => this.setState({ term: "" })}
value={this.state.term}
/>
</div>
</form>
</div>
);
}
}
Upvotes: 1