AsyncStorage
AsyncStorage是一個簡單的,未加密的,異步的,持久化,關鍵值存儲系統,是全局的。類似於iOS中的NSUserDefault.
存值:
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);
}
取值:
try {
AsyncStorage.getItem(
'key',
(error,result)=>{
if (error){
alert('取值失敗:'+error);
}else{
alert('取值成功:'+result);
}
}
)
}catch(error){
alert('失敗'+error);
}
移除值:
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;
運行效果:

