A helper function that lets us write stateful React components in the same functional style as stateless components.
- sidesteps the need to introduce
this-binding confusion into your codebase.
- slightly terser, slightly more declarative
- opinionated - doesn't expose the more dangerous features of class-based Components (e.g. lifecycle callbacks)
When you have a team working on a larger React codebase it is hard for everyone to understand which patterns are preferable vs. those which are a necessary compromise.