For the past two hours I've been reading here and there on state management (e.g Redux and Vuex). What I still don't get is what it brings to e.g Angular (though it is the same for Vue since it has two-way binding).
From what I've gathered, state management would place states and data in a single place (the store). From there, every component would look into this store to find the data it wants, according to its state.
I've only done simple SPA in Angular2+. What I usually do is communicate the data throught @Input() and @Output() with double-binding in the template. The user gives us e.g a number, this number is updated in the component and thsi component while notify its children throught the sub-@Input() and notify its ancestor by sending an event containing the number. All my components then have the same data. I could also use services to have singletons.
What would be the advantage of using redux (or @ngrx/store in my case) over what I've been doing all along? Is it only because it prevents (or tries to) spaghetti-code? Am I misunderstanding things? I've seen some examples yet does not see the benefits and shortcomings.
Thanks!