React actually goes one step back in being a good tool for UI state management but not delivering any other coder convenience or code structure by default.

This is by design, I believe. React is a library - a minimal set of components just to work with the view layer. Versus Angular and Ember, which are frameworks that include everything under the sun.

But yes, there is no defined structure for a React app. There are best practices, but it's up to you on how you structure your app. I think a lot of devs like this flexibility over something like Angular or Ember's opinionated defaults.