React Native: Guides and Practical Know-how | Page 4 | mironsoft Blog
React Native
-
Nov 21, 2025
As soon as two devices edit the same record offline and both later synchronize, a conflict inevitably arises that the app has to resolve. This article shows how such conflicts technically occur, which resolution strategies hold up in practice, and where automatic solutions reach their limits.
-
Nov 18, 2025
AsyncStorage wraps every read and write in an asynchronous bridge call, while MMKV, built on C++ and memory-mapped files, answers synchronously through JSI. This article compares both in speed, API design and encryption, and walks through a practical strategy for migrating existing AsyncStorage data to MMKV.
-
Nov 15, 2025
When a React Native app gets force quit and reopened, the entire navigation state is lost by default, because both React Navigation and Expo Router keep the current screen and stack history exclusively in the running app instance's memory. For many apps that is a noticeable break in the experience, when a deeply nested view resets to the start screen after every restart. This article covers how navigation state can be persisted deliberately, what configuration that takes in React Navigation and Expo Router, and where that restoration should deliberately not happen, such as after an expired login.
-
Oct 30, 2025
Anyone building React Native screens purely with StyleSheet.create ends up writing a separate style object for every component, losing the consistency of a shared design system in the process. NativeWind carries Tailwind CSS's utility-first approach straight into React Native and replaces scattered style objects with the same className strings that web teams already know from Tailwind.
-
Oct 28, 2025
React Native widgets are not rendered by the JavaScript engine, they are rendered by each platform's own native widget framework. This article shows how an iOS Widget Extension target built with SwiftUI and an Android App Widget built with Jetpack Glance connect cleanly to an existing React Native app, including data exchange and deep linking.
-
Oct 23, 2025
When an existing library cannot close a gap in React Native, a custom native module is the only way forward. This article shows how the Swift and Kotlin bridge between JavaScript and native code is built, how Turbo Modules and JSI replace the old bridge, and how a cleanly typed native module comes together from the spec file to the finished JS wrapper.
-
Oct 22, 2025
A product list with a hundred thumbnails or a feed full of high-resolution photos quickly exposes the limits of React Native's built-in Image component, which lacks aggressive caching. FastImage closes that gap with native disk and memory caching logic. This article covers the limits of the built-in component and how to configure FastImage in practice.
-
Oct 18, 2025
A single getCurrentPosition call sounds like the easiest thing in the world, but location services sit at the intersection of accuracy, battery consumption and user privacy. Integrating geolocation into a React Native app without a clear concept risks drained batteries, confused users and rejected App Store reviews. This article shows how to request location services correctly on iOS and Android, track efficiently and test reliably.
-
Oct 13, 2025
A Play Console listing is far more than a title and an icon: store listing, content rating, Data safety and testing tracks all decide together whether a React Native app can go live at all. This guide walks step by step through building a Play Console listing correctly and highlights the fields that most often cause delays in practice.
-
Oct 11, 2025
Video and audio playback in React Native isn't one uniform problem: a short TikTok-style video feed, a podcast player with lock screen controls, and an on-demand video player with adaptive streaming all need different technical foundations. The choice between expo-video, react-native-video and react-native-track-player directly decides whether background audio, DRM protection and memory management work reliably.