3 ms·
The biggest problem with Redux is its complexity. I have seen first hand how Redux scales in large web applications and it sucks. Ask anyone who works at Atlass
by DigitalSea 7y ago
The biggest problem with Redux is its complexity. I have seen first hand how Redux scales in large web applications and it sucks. Ask anyone who works at Atlassian and worked on the new Jira, they had to basically break each part of the app up into micro-applications with their own stores because a single-store in Redux for large scale applications does not scale. The navigation sidebar is its own damn React app with Redux store to get around the limitations of a massive store.
If you're looking for a Redux alternative, look no further than RxJS. You get all of the power of Redux without the complex concepts to learn. The Aurelia Store plugin is a great example of using RxJS for state management (it also works with Redux dev tools). A lot of Angular developers will also tell you they use RxJS for state and attest how great it is.
I have seen way too many sloppy poorly performing applications using Redux to know that it is its own worse enemy. The complexity makes for a terrible result in many developer hands.
- valand 7y agoHuge react app veteran lead syatem designer here. Ended up not using redux after our previous project failing to scale development-wise (it gets harder to put feature in it). Using unstated, it freed developers from god object paradigm introduced by redux's single global connect() function. Then we did the same, breaking apart states and putting them in the proper scope. Also, we also removed state from inter-component operations which doesn't really need state, the ones developer usually workaround using global redux states. We replaced it with custom made event sourcing / message passing library. Think of it as using rabbitMQ but it is running inside your javascript app. Things get so much simpler after that. Features can be put it a lot faster. Combined with io-ts, it also support almost 100% TypeScript type checks both on compile-time and run-time. No blank page issue ever since even without a single React ErrorBoundary and minimum unit-test.
- FlorianRappl 7y agoI can fully relate to this. Same experience here.
- jgalentine007 7y agoI too am liking RxJS more and more, especially for simple state. I gave up on learning React a few years ago because Redux was just too bonkers.
- city41 7y agoI find this comment very interesting as I would have said the exact opposite. I have found Rx gets incredibly complicated and opaque incredibly fast. Some of the most nightmarish code I've ever worked with was due to over use and abuse of Rx. I'm certainly open to seeing if Rx can be used in a nice way. But so far my experience has been very negative. But with that said, I also feel you can name any state management system (any one at all) and you will find people who love it, and people who loathe it. I feel in general that state management is in many ways an unsolved problem.