How to retrieve data with AsyncStorage multiGet in React Native

Nerius Jok picture Nerius Jok · May 2, 2018 · Viewed 9.2k times · Source

I'm considering how to use React-native AsyncStorage multiGet in docs written:

AsyncStorage.multiGet(keys, (err, stores) => {

But how those keys should properly look like? Here is how they are set within my application:

AsyncStorage.multiSet([['@BarcodeList', JSON.stringify(scanedList)], ['@ScannedBarcode', gotCode]]);

It's ok, but how can i retrieve that data with multiGet? With getItem it seems working, what i am doing wrong? both(getItem, multiGet) of them below.

AsyncStorage.multiGet(["@BarcodeList", "@ScannedBarcode"]).then((scanedList2, scannedBarcode) => {
    //AsyncStorage.getItem("@BarcodeList").then((scanedList2) => {

Answer

Pritish Vaidya picture Pritish Vaidya · May 2, 2018

It works the following way, since it gives nested array response

The array contains key as index 0 and value as index 1

 AsyncStorage.multiGet(["@BarcodeList", "@ScannedBarcode"]).then(response => {
            console.log(response[0][0]) // Key1
            console.log(response[0][1]) // Value1
            console.log(response[1][0]) // Key2
            console.log(response[1][1]) // Value2
        })