mobile-storage-mmkv
MMKV Storage Patterns
Quick Guide: Use
createMMKV()for synchronous key-value storage (~30x faster than AsyncStorage). One singleton instance per concern (global app, per-user). Use typed hooks (useMMKVString,useMMKVObject) for reactive components. Enable encryption withencryptionKeyfor sensitive data. V4 is a Nitro Module requiringreact-native-nitro-modulesand React Native 0.75+.
<critical_requirements>
CRITICAL: Before Using This Skill
All code must follow project conventions in CLAUDE.md (kebab-case, named exports, import ordering,
import type, named constants)
(You MUST reuse a single MMKV instance per concern -- NEVER call createMMKV() on every render or in component bodies)
(You MUST use typed getters (getString, getNumber, getBoolean) -- NEVER parse the return value of the wrong getter)
(You MUST use remove() to delete keys -- delete() was renamed in v4 due to C++ keyword conflict)
(You MUST install react-native-nitro-modules alongside react-native-mmkv -- v4 is a Nitro Module)