As front ends grew into interactive apps, developers needed ways to share changing data such as themes across distant components. Passing values and update functions through many layers can become cumbersome. React Native shares this challenge because it uses JavaScript and React.
State Management in React Native
Speaker
Ola Des Moines, a software engineer at Callstack and author, discusses React Native state management with a host on The React Native Show podcast.
Ola built a small social app with a feed, liked images, conversations, and settings. Liking a photo had to update both its modal indicator and the separate liked images screen. Ola implemented the same app with each library to compare its workflow and mental model.
Ola groups libraries into Flux, proxy, and atom approaches: Redux represents Flux, MobX uses reactive proxies, and Jotai uses small atoms. XState models behavior as a state machine, while React Query treats server data as a separate cache. Ola notes that XState can make loading, success, and failure states explicit, though complex interactions can cause state explosion.
Ola describes Redux as widely used and battle-tested, while noting that Redux Toolkit reduces boilerplate and uses Immer to preserve immutability. MobX State Tree groups state and actions in a tree and worked well for the example app. Jotai felt lightweight for a small app, and React Query keeps fetched server data in its own cache rather than copying it into app state.
Ola mentions Zustand, Valtio, and Legend State as additional options, and says teams and apps differ. Documentation and community support matter because they shape how easily developers can use a library. The book's examples and companion repository compare libraries using the same app.
Takeaways
- Choose state tools around the app’s needs and the team’s preferred mental model.
- Use shared state when related screens need to reflect the same change, such as a liked photo.
- Consider keeping fetched server data in a query cache instead of duplicating it in app state.
- Try a small, representative feature with a library before adopting it across a larger application.
- Check documentation and community support as part of evaluating a state management library.
Mentioned in this talk
Search inside this talk
What was claimed 14
- role atHola Des Moines is software engineer at Callstack Team
“a software engineer here at Callstack”
YouTube Unverified1 source· Talk
- builtPoimandres built Valtio
“You might have heard of ... Valtio”
0:44inHow to Get Started With 3D in ReactYouTube Verified2 sources· Talk
- builtPoimandres built Jotai
“You might have heard of ... Jotai”
0:44inHow to Get Started With 3D in ReactYouTube Verified2 sources· Talk
- builtPoimandres built Zustand
“You might have heard of Zustand”
0:44inHow to Get Started With 3D in ReactYouTube Verified2 sources· Talk
- built
“The title is Simplifying State Management in React Native”
YouTube Unverified1 source· Talk
- uses
“The Flux philosophy is what Redux uses.”
YouTube Unverified1 source· Talk
- usesRedux Toolkit uses Immer
“Redux Toolkit uses a library called Immer under the hood.”
YouTube Unverified1 source· Talk
- featureMobX: Reactive programming with computed values that update when dependencies change
“MobX is a reactive library.”
YouTube Unverified1 source· Talk





