AsyncStorage是一個簡單的,未加密的,異步的,持久化,關鍵值存儲系統,是全局的。相似於iOS中的NSUserDefault.javascript
存值:java
import { AppRegistry, StyleSheet, Text, View, AsyncStorage } from 'react-native';
try { AsyncStorage.setItem( 'key', 'shaoting', (error)=>{ if (error){ alert('存值失敗:',error); }else{ alert('存值成功!'); } } ); } catch (error){ alert('失敗'+error); }
取值:react
try { AsyncStorage.getItem( 'key', (error,result)=>{ if (error){ alert('取值失敗:'+error); }else{ alert('取值成功:'+result); } } ) }catch(error){ alert('失敗'+error); }
移除值:react-native
try { AsyncStorage.removeItem( 'key', (error)=>{ if(!error){ alert('移除成功'); } } ) }catch (error){ alert('失敗',+error); } },
完整代碼:異步
import React, { Component } from 'react'; import { AppRegistry, StyleSheet, Text, View, AsyncStorage } from 'react-native'; var Mine = React.createClass({ render() { return ( <View style={styles.container}> <Text onPress={this.saveData} style={styles.welcome}> 存值:key='key',存shaoting </Text> <Text onPress={this.getValue} style={styles.welcome}> 取值 </Text> <Text onPress={this.removeData} style={styles.welcome}> 刪除數據 </Text> </View> ); }, saveData(){ try { AsyncStorage.setItem( 'key', 'shaoting', (error)=>{ if (error){ alert('存值失敗:',error); }else{ alert('存值成功!'); } } ); } catch (error){ alert('失敗'+error); } }, getValue(){ try { AsyncStorage.getItem( 'key', (error,result)=>{ if (error){ alert('取值失敗:'+error); }else{ alert('取值成功:'+result); } } ) }catch(error){ alert('失敗'+error); } }, removeData(){ try { AsyncStorage.removeItem( 'key', (error)=>{ if(!error){ alert('移除成功'); } } ) }catch (error){ alert('失敗',+error); } }, }); var styles = StyleSheet.create({ container: { flex: 1, backgroundColor:'white', }, welcome: { fontSize: 20, textAlign: 'center', margin: 10, } }); module.exports = Mine;
運行效果:flex