Skip to content

An asynchronous, persistent, key-value storage system for React Native.

License

Notifications You must be signed in to change notification settings

HeyImChris/async-storage

 
 

Repository files navigation

React Native Async Storage

An asynchronous, unencrypted, persistent, key-value storage system for React Native.

AsyncStorage v2 is out!

Release Candidate for AsyncStorage v2 is out. More info can be found here..

Getting Started

Install

$ yarn add @react-native-community/async-storage

Link

  • React Native 0.60+

CLI autolink feature links the module while building the app.

  • React Native <= 0.59
$ react-native link @react-native-community/async-storage

Note For iOS using cocoapods, run:

$ cd ios/ && pod install

See docs for manual linking guide

Upgrading to React Native 0.60+

New React Native comes with autolinking feature, which automatically links Native Modules in your project. In order to get it to work, make sure you unlink Async Storage first:

$ react-native unlink @react-native-community/async-storage

Usage

Import

import AsyncStorage from '@react-native-community/async-storage';

Store data

storeData = async () => {
  try {
    await AsyncStorage.setItem('@storage_Key', 'stored value')
  } catch (e) {
    // saving error
  }
}

Read data

getData = async () => {
  try {
    const value = await AsyncStorage.getItem('@storage_Key')
    if(value !== null) {
      // value previously stored
    }
  } catch(e) {
    // error reading value
  }
}

Advanced

See docs for api and more examples or advanced usages.

Writing tests

Using Jest for testing? Make sure to check out docs on how to integrate it with this module.

Contribution

See the CONTRIBUTING file for how to help out.

License

MIT

About

An asynchronous, persistent, key-value storage system for React Native.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 38.2%
  • Objective-C 31.5%
  • Java 25.5%
  • Shell 2.5%
  • Python 1.8%
  • Ruby 0.5%