I personally think that there is no "right" way of building applications. It strongly depends on the developer: A developer who is used to writing messy and unstructured code won't produce significantly better code with redux-like patterns. It's right, with redux you're less likely to end up with a total mess, but it's also very likely that you end up with a well understandable, good structured application with mobx-like approaches of state managment.