保存數(shù)據(jù)到本地
在開發(fā)中我們經(jīng)常會碰到保存數(shù)據(jù)到本地,進(jìn)行持久化.使用AsyncStorage,就如下
//保存數(shù)據(jù)
setObject(key,object){
AsyncStorage.setItem(key, JSON.stringify(object), () => {});
},
可以將數(shù)據(jù)保存到本地,在其他地方要調(diào)用的時(shí)候只需要
<class>.setObject(<key>,<object>)
就可以實(shí)現(xiàn)保存到本地了.ok,這比較簡單,看看獲取本地?cái)?shù)據(jù)
讀取本地?cái)?shù)據(jù)
我們是不是可以直接向上述將的那樣子獲取來讀取數(shù)據(jù)?
//獲取數(shù)據(jù)
getObject(key){
AsyncStorage.getItem(key, (error, object) => {
if (error) {
console.log('Error:' + error.message);
return ();
} else {
return(object);
}
})},
通過調(diào)用方法
//需要將獲取到的值賦值給某個對象
this.setState( { <key>:<class>.getObject(<key>) } )
運(yùn)行傳遞出來的值是空的.后來想了很久使用下面的方法,就能夠獲取到值了
//獲取數(shù)據(jù)
getObject(key,callback){
AsyncStorage.getItem(key, (error, object) => {
if (error) {
console.log('Error:' + error.message);
callback();
} else {
callback(JSON.parse(object));
}
})},
調(diào)用的方法,將方法封裝在QMStorage
QMStorage.getObject(<key>,(object) =>
this.setState({
<key>: object
})
)
初學(xué)者,懷念OC.