A higher-order component (HOC) is an advanced technique in React for reusing
component logic.
Simply, a higher order component is a function that takes a component and return
a new component.
To understand this better, we will take authentication example. Our use case is
that users are allowed to visit