finds.dev← search

// the find

ammarahm-ed/react-native-mmkv-storage

★ 1,750 · C++ · MIT · updated Dec 2025

An ultra fast (0.0002s read/write), small & encrypted mobile key-value storage framework for React Native written in C++ using JSI

A React Native wrapper around Tencent's MMKV that replaces AsyncStorage with a JSI-based C++ implementation. It targets apps that hit AsyncStorage's performance ceiling or need per-instance encryption with Keychain/Keystore backing. The 1.75k stars suggest it found a real audience, though it's since been somewhat overshadowed by the simpler `react-native-mmkv` from mrousavy.

JSI removes the async bridge entirely — reads and writes are synchronous and genuinely fast, not just 'fast' in a marketing sense. Per-instance encryption with platform key storage (Keychain on iOS, Android Keystore API 23+) is done correctly and doesn't make you manage the key yourself. The `useMMKVStorage` hook is a genuinely useful abstraction: it behaves like `useState` but survives app restarts without any extra plumbing. Multi-instance support with isolated storage files is a good architectural decision for apps with separate modules or user accounts.

Maintenance velocity is a concern — last push was late 2024 and the issue tracker has open bugs that have sat for months. The competing library `react-native-mmkv` (mrousavy) has more stars, more frequent updates, and a cleaner API surface; anyone evaluating this should compare the two before committing. The Transaction Manager API is clever but adds a non-obvious layer of complexity around indexing that can make debugging storage corruption tricky. The library vendors the entire MMKV Core C++ source tree instead of depending on it as a submodule, which means you won't automatically get upstream MMKV security or bug fixes.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →