Handling events in React components is the most common case to use binding. Before going any further, I recommend reading an article about this at MDN if you are uncertain how does this works.
To retain object instance when the function is going to be passed. Certainly, it must be semantically correct for the function to expect such object. Most common case is to bind this when passing object method. Remember:
This depends how the function is called, not how/where it is created.
This should be retained when used in the function. This is used for an internal matter, data which, is not dynamic, doesn’t depend on function caller, usually already defined when the function is passed away.
... read the whole story at medium.com.