AsyncStorage
でAsyncStorage.getItem('key_name')
を使用してキーが使用可能かどうかを確認しようとしています。キーが利用できない場合、nullを返さず、次のpromiseオブジェクトを返します。
Promise
_45:0
_54:null
_65:null
_81:1
データを取得するための私の機能は次のとおりです。
checkItemExists(){
let context = this;
try {
let value = AsyncStorage.getItem('item_key');
if (value != null){
// do something
}
else {
// do something else
}
} catch (error) {
// Error retrieving data
}
}
AsyncStorageにキーが存在するかどうかを確認するにはどうすればよいですか?
async checkUserSignedIn(){
let context = this;
try {
let value = await AsyncStorage.getItem('user');
if (value != null){
// do something
}
else {
// do something else
}
} catch (error) {
// Error retrieving data
}
}
名前が言うように、それは非同期です。だからあなたはする必要があります:
AsyncStorage.getItem('user')
.then((item) => {
if (item) {
// do the damage
}
});
必要に応じて、ローカル状態またはアプリケーション状態管理ライブラリを使用できます。
AsyncStorageは非同期です...このように呼び出す必要があります:
checkUserSignedIn(callback){
AsyncStorage.getItem('user', (err, result) => {
if (!err && result != null){
// do something
}
else {
// do something else
}
callback(result);
});
}