I don't understand why I need
this.handleChange = this.handleChange.bind(this);
to make my program work:
class Foo extends React.Component {
constructor(props) {
super(props);
this.handleChange = this.handleChange.bind(this);
this.state = { foo: 1 }
}
render() {
return (
<div>
<input onChange={this.handleChange} value="xxx" />
<span>yes {this.state.foo}</span>
</div>
);
}
handleChange(e) {
console.log("called 1");
this.setState({foo: this.state.foo+1});
}
}
ReactDOM.render(<Foo />, document.getElementById("name1") )
In other words, what does
this.handleChange = this.handleChange.bind(this);
do in layman's terms