The description of Redux project is:
Redux is a predictable state container
Can explain to me what \"predictable\" word meaning in t
After some while, I understood the point: First all, my question come from C++/Java/C# event driven (Redux have implementation not only for JS).
So I wonder what so bad with old pattern fashion Event-driving environment like Winform and all like? They all work with DataTable or collection of plain classes (Structures). The visual component hold state of Edit state or another Widget state, but not logic at all. (I not refer here to big words like MVC or MVVW or all other slogan. But all convince the same truth: we must seperate the View from Logic in some way).
Refer to Evaldas Buinauskas answer, have 4 principle. Let me explain why those principles is not the piont:
1> For what reason I need immutable? (Automatic changing awareness can be done with Aspect-Oriented Programming Or even is not so badly call re-render manually after each action)
2> Same of above (I still guess we not want clone hole store for each action without delete the previous one. For most app is not necessary or not possible due the lake of RAM).
3> All event driven I knew implement it.
4> Some of above. Immutable not necessary and new state as result of Action implement well with all known event driver patterns.
So, I think the main answer of Evaldas Buinauskas from my view point is:
Redux is heavily inspired by Elm architecture and encourages functional programming principles, one of them being pure functions (they produce no side effects (like http calls, disk reads) and their output is always the same for the same input).
With pure function that not change anything outside of Store, we get more clear and testable code (I guess that mean of words "Predicated").