We love functional approach to writing apps and Redux is thus the premium choice in this matter. The inner beauty of the state tree is unbeatable. We recently learned to solve common tasks via middleware. And the Redux Chrome extension is such a marvel - our developers request extra monitors just to have it nearby.
Our state management library of choice. Redux has a simple concept, but it's flexible enough and it's React binding library, react-redux, contains a lot of performance-optimized code to make the most out of this combo.
Though Redux makes encoding some interactions unnatural, the ease of debugging makes it worthwhile. Additionally, Redux makes it easy to implement saving/bookmarking/sharing just by serializing state
Redux's middleware is great for separating concerns, e.g., requests, errors, telemetry, etc.
Our reducers use immutability-helper to update state