Antonios Liakakis, I think the mess of it comes from the fact that people at Facebook couldn’t come up with something as robust as Angular, or something as easy to grasp as Vue, yet still wanted the library to do everything a framework would.
I think it’s a personality thing at the end of the day. I don’t mind React, but from a personality perspective I’ll always tend to favour well-structured code with very little pollution, over beef stew style development. The secret I guess — not really a secret — with React is to keep your components’ code small, as small as humanly possible and everything that is not strictly necessary in the view’s code, move into a utility or helper function, so you don’t have to read hundreds of lines of code at once, trying to find any resemblance of logic in it. If you keep things nice and tidy, it kind of works.