In reality, there should be a good balance between global and local state. I wrote a Redux FAQ entry that tries to give some rules of thumb for determining what state goes where [2].
When we do the docs revamp, hopefully we can make that kind of thinking more explicit.
I'd be very interested in hearing more details on any issues you may be having with React-Redux, and I'm happy to offer advice for you or anyone else on using it better. HN comments aren't a great place for that, but please file an issue for discussion or contact me in the Reactiflux chat channels on Discord in the #redux channel.
I'd also greatly appreciate any feedback folks would have on weaknesses with the current docs, so we can improve those issues with the docs revamp.
We've had open issues to cover writing a "Performance" docs page for a long time, but no one got around to contributing that, and there's been too many other higher priorities for us to write it. My React/Redux links list does have a section of articles on improving Redux perf [3], if that helps, and there's an FAQ section on that topic [4]. In general, connect more components [5], and use memoized selectors [6] to read data and do transforms.
[0] https://redux.js.org/introduction/three-principles
[1] https://redux.js.org/faq/organizing-state#should-i-put-form-...
[2] https://redux.js.org/faq/organizing-state#do-i-have-to-put-a...
[3] https://github.com/markerikson/react-redux-links/blob/master...
[4] https://redux.js.org/faq/performance
[5] https://redux.js.org/faq/react-redux#should-i-only-connect-m...
[6] https://blog.isquaredsoftware.com/2017/12/idiomatic-redux-us...
After a couple of years working with Redux, I think my interpretation has settled down to:
Redux should be the single source of truth for the pieces of information you decide to put in there.
Rather than putting absolutely everything in the global DB, I now try to restrict that to things that are actually global, such as the user profile data and such.