前言
眼看很多公司都開(kāi)始嘗試使用ReactNative,達(dá)到跨平臺(tái)開(kāi)發(fā),最近也寫(xiě)了很多文章,希望讓更多想了解的同學(xué)快速上手ReactNative.
如果喜歡我的文章,可以關(guān)注我微博:袁崢Seemygo
ReactNative之本地存儲(chǔ)
- 在RN開(kāi)發(fā)中,如何持久化存儲(chǔ)數(shù)據(jù),可以使用AsyncStorage,對(duì)原生的API進(jìn)行了一層封裝,通過(guò)它,就能把數(shù)據(jù)保存到真機(jī)中。
AsyncStorage使用
- 存儲(chǔ)
- 注意:`AsyncStorage``只能存儲(chǔ)字符串,需要把對(duì)象轉(zhuǎn)換為字符串才行
save(){
var object = {
name:'xmg',
age:18
};
// JSON.stringify(object): JSON對(duì)象轉(zhuǎn)換為字符串 用來(lái)存儲(chǔ)
AsyncStorage.setItem('object',JSON.stringify(object),(error)=>{
if (error) {
alert('存儲(chǔ)失敗');
} else {
alert('存儲(chǔ)成功');
}
});
}
- 讀取
read(){
AsyncStorage.getItem('object',(error,result)=>{
if (!error) {
console.log(result);
}
})
}
- 刪除
delete(){
AsyncStorage.removeItem('object',(error)=>{
if (error) {
alert('刪除失敗');
} else {
alert('刪除成功');
}
});
}
AsyncStorage原理:
- AsyncStorage存儲(chǔ)數(shù)據(jù),在iOS中,底層會(huì)把數(shù)據(jù)保存到沙盒中的Documents中,并生成manifest.json文件。保存的數(shù)據(jù)都在manifest.json中。

存儲(chǔ)文件路徑.png

存儲(chǔ)數(shù)據(jù).png
- AsyncStorage刪除數(shù)據(jù),也僅僅是刪除manifest.json文件中的數(shù)據(jù),并不是刪除manifest.json文件
![Uploading 刪除數(shù)據(jù)_712538.png . . .]