1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
| 'use strict';
import React,{AsyncStorage,Component,TouchableOpacity,View,Text,AppRegistry} from 'react-native';
// 数据对应的key var STORAGE_KEY = 'I_AM_KEY';
class Demo extends Component{
// 获取 async _get() { console.log('Demo._get()'); try {// try catch 捕获异步执行的异常 var value = await AsyncStorage.getItem(STORAGE_KEY); if (value !== null){ console.log('_get() success: ' ,value); } else { console.log('_get() no data'); } } catch (error) { console.log('_get() error: ',error.message); } }
// 保存 async _save(value) { console.log('Demo._save()'); try { await AsyncStorage.setItem(STORAGE_KEY, value); console.log('_save success: ',value); } catch (error) { console.log('_save error: ',error.message); } }
// 删除 async _remove() { console.log('Demo._remove()'); try { await AsyncStorage.removeItem(STORAGE_KEY); console.log('_remove() success'); } catch (error) { console.log('_remove() error: ', error.message); } }
render(){ return( <View style={{flexDirection:'column',flex:1,marginTop:50,}}>
<TouchableOpacity style={{padding:10,flex:1,flexDirection:'row',}} onPress={()=>this._save('haha').then(()=>console.log('you can do something here when the setItem is starting')).done(()=>console.log('you can do something here when the setItem is done'));}> <Text style={{fontSize:16,color:'#333333'}}>保存数据</Text> </TouchableOpacity> <TouchableOpacity style={{padding:10,flex:1,flexDirection:'row',}} onPress={()=>this._get().done()}> <Text style={{fontSize:16,color:'#333333'}}>获取数据</Text> </TouchableOpacity> <TouchableOpacity style={{padding:10,flex:1,flexDirection:'row',}} onPress={()=>this._remove()}> <Text style={{fontSize:16,color:'#333333'}}>删除数据</Text> </TouchableOpacity> </View>); } }
AppRegistry.registerComponent('Demo', () => Demo);
|