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) => {
On iOS, AsyncStorage is backed by native code that stores small values in a serialized dictionary and larger values in separate files. On Android, AsyncStorage will use either RocksDB or SQLite based on what is available.
getItem Gets a string value for given key . This function can either return a string value for existing key or return null otherwise. In order to store object value, you need to deserialize it, e.g. using JSON. parse() .
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
})
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With