For small solutions I like to use the lib React-Native-simple-store
Or you can create a file, as an example my storage.js, and import the index.js of own simple-store
import { AsyncStorage } from 'react-native';
const store = {
    /**
     * Get a one or more value for a key or array of keys from AsyncStorage
     * @param {String|Array} key A key or array of keys
     * @return {Promise}
     */
    get(key) {
        if(!Array.isArray(key)) {
            return AsyncStorage.getItem(key).then(value => {
                return JSON.parse(value);
            });
        } else {
            return AsyncStorage.multiGet(key).then(values => {
                return values.map(value => {
                    return JSON.parse(value[1]);
                });
            });
        }
    },
    /**
     * Save a key value pair or a series of key value pairs to AsyncStorage.
     * @param  {String|Array} key The key or an array of key/value pairs
     * @param  {Any} value The value to save
     * @return {Promise}
     */
    save(key, value) {
        if(!Array.isArray(key)) {
            return AsyncStorage.setItem(key, JSON.stringify(value));
        } else {
            var pairs = key.map(function(pair) {
                return [pair[0], JSON.stringify(pair[1])];
            });
            return AsyncStorage.multiSet(pairs);
        }
    },
    /**
     * Updates the value in the store for a given key in AsyncStorage. If the value is a string it will be replaced. If the value is an object it will be deep merged.
     * @param  {String} key The key
     * @param  {Value} value The value to update with
     * @return {Promise}
     */
    update(key, value) {
        return deviceStorage.get(key).then(item => {
            value = typeof value === 'string' ? value : merge({}, item, value);
            return AsyncStorage.setItem(key, JSON.stringify(value));
        });
    },
    /**
     * Delete the value for a given key in AsyncStorage.
     * @param  {String|Array} key The key or an array of keys to be deleted
     * @return {Promise}
     */
    delete(key) {
        if (Array.isArray(key)) {
            return AsyncStorage.multiRemove(key);
        } else {
            return AsyncStorage.removeItem(key);
        }
    },
    /**
     * Get all keys in AsyncStorage.
     * @return {Promise} A promise which when it resolves gets passed the saved keys in AsyncStorage.
     */
    keys() {
        return AsyncStorage.getAllKeys();
    },
    /**
     * Push a value onto an array stored in AsyncStorage by key or create a new array in AsyncStorage for a key if it's not yet defined.
     * @param {String} key They key
     * @param {Any} value The value to push onto the array
     * @return {Promise}
     */
    push(key, value) {
        return deviceStorage.get(key).then((currentValue) => {
            if (currentValue === null) {
                // if there is no current value populate it with the new value
                return deviceStorage.save(key, [value]);
            }
            if (Array.isArray(currentValue)) {
                return deviceStorage.save(key, [...currentValue, value]);
            }
            throw new Error(`Existing value for key "${key}" must be of type null or Array, received ${typeof currentValue}.`);
        });
    },
};
export default store;
Ai just you import in your file, ex: import store from './services/storage';
And then manipulate the data with just the commands:
store.save(key, value);
store.update(key, value);
store.get(key);
store.push(key, value);
store.delete(key);
Passing key and value as parameters
In a basic example of an app of mine, I use the formik to receive data from a form, then save with the store.save() the object values with the key identification user
Then I present the data in the console searching with the store.get() for key user
export default withFormik({
  mapPropsToValues: () => ({ cpf: '', nome: '', telefone: '', celular: '', email: '' }),
  handleSubmit: (values) => {
    console.log(values);
    store.save('user', values)
    .then(console.log(store.get('user')));
  }
})(CadastroPessoaFisica);
Another lib I’ve been recommended as being good is React-Native-Storage but as the store so far has met my demands I have never tested.
But for a larger app I recommend using Redux.
							
							
						 
Your code is apparently correct. I created a executable snippet that you can see Asyncstorage in action. When you press Tap to Play you must click the Save button so it will save "User ${timestamp}" and when you click the Display button it will read from Asyncstorage the value that was saved and save in the state of the component.
– kakamg0