Functions that provides visibility into React component life-cycle.
A component in React has a life-cycle, a number of different phases it goes through from birth to death. We can hook into those different phases to get some pretty fine grained control of our application.
To do this we add some specific methods to our component class which get called during each of these life-cycle phases, we call those methods hooks.