React Native AsyncStorage is a persistent key-value storage library designed for React Native applications. It provides a unified local storage interface that works identically on both iOS and Android, ensuring saved data remains available across app restarts and when the device has no network connectivity.
The library uses an asynchronous background I/O queue to handle all storage operations without blocking the JavaScript thread, communicating with native storage engines through React Native's bridge protocol. It includes a serialization layer that converts JavaScript values to strings for storage and restores them on retrieval, along with an in-memory LRU cache that reduces disk reads while maintaining consistency through write-based invalidation. A multi-engine storage adapter abstracts platform-specific persistence backends, enabling flexible backend selection at initialization.
The library covers the full range of local storage tasks: storing, reading, and removing key-value pairs, with persistence that survives app restarts and supports offline data availability. Common use cases include preserving app state, caching frequently accessed data, and storing user preferences like theme or language settings.