This could easily be its own post but I'll give a go at a short answer.
React has such a large eco system that there is no one size fits all solution for any size app. For state management it is best to think of how your components map to state. If it's a 1 to 1 relationship then internal state is best suited. For components that require state from multiple sources, mob-x or Redux would be better suited.
Routers are often paired with state management to handle middleware so authentication can be handled on routes.
I wouldn't advise going down the route of just because people use a library that means it's what you want for your app
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.