2016-09-23 1 views
2

Mon projet actuel me obligent à stocker des données utilisateur localement, donc j'utiliser la AsyncStorage de réagir lui-même natif. Cependant, je suis arrivé quelques questions sur la façon de récupérer des données déjà enregistré je reçois toujours nulle, mais en quelque sorte les données sont enregistrées ..Comment bien getItem avec AsyncStorage dans React autochtones?

Je reçois toujours

{_45: 0, _81: 0, _65: null, _54: null}

et voici mon code, qui est l'exemple simple de réagir documentation native

AsyncStorage.setItem('baru', 'this is new dude!!'); 
var b = AsyncStorage.getItem('baru'); 
console.log(b); 

Répondre

3

lecture de la documentation de AsyncStorage:

statique getItem (clé, rappel?) Récupère un élément d'une clé et appelle une fonction de rappel à la fin. Retourne un objet Promise.

Vous devez gérer cette promesse. Je vous recommande d'utiliser (comme les docs) async/await. Ainsi, par exemple, vous pouvez faire:

async function getItem(item) { 
    try { 
    const value = await AsyncStorage.getItem(item); 
    console.log(value); 
    return value; 
    } catch (error) { 
    // Handle errors here 
    } 
} 

Vous devriez vraiment faire quelque chose de similaire pour setItem aussi.

+1

merci, je ne lis pas la documentation à fond –