Infinite Red Jamon Holmgren Feb 16, 2021

Why Infinite Red uses MobX-State-Tree instead of Redux

Article Summary

Jamon Holmgren from Infinite Red explains why his team ditched Redux after years of use. The reasons might surprise you—and they're backed by real production experience.

Infinite Red, a leading React Native consultancy, made the bold switch from Redux to MobX-State-Tree (MST) in 2017. After building dozens of apps with both systems, they've identified six critical factors that influenced their decision and continue to shape how they architect state management today.

Key Takeaways

Critical Insight

MobX-State-Tree offers simpler syntax, better performance, and runtime type safety compared to Redux, though Redux maintains a larger ecosystem and community.

The article includes side-by-side code comparisons showing exactly how much boilerplate you can eliminate—and reveals the one major downside that almost made them reconsider.

About This Article

Problem

At Infinite Red, Redux required developers to edit multiple files whenever they changed state. They had to update actions, constants, and reducers separately. This made maintenance harder and introduced more opportunities for bugs across their React and React Native projects.

Solution

MobX-State-Tree puts all state logic in one place. Instead of separate action creators, constants files, and reducer boilerplate, developers write direct functions in unified store definitions. Redux demands all those pieces. MST doesn't.

Impact

Infinite Red's teams kept consistent code organization across 3+ years of projects from 2017 to 2020 using MST. Redux implementations varied significantly between teams because the framework's flexibility meant everyone organized things differently.