According to React official Documentation binding is necessary because class methods are not bounded by default.
and if you pass a callback to an event handler without binding, 'this' will be undefined.
example
`class Component extends React.Component {
constructor(props) {
super(props);
this.state = {
address: ''
};
this.clickMe = this.clickMe.bind(this); //Binding
}
clickMe() {
this.setState({
address: 'India'
});
}
render() {
return (
<div>
<button onClick = {this.clickMe}>Click Me</button>
<h1>{this.state.address}</h1>
</div>
);
}
}`