AsyncStorage存储key管理小技巧
AsyncStorage存储key管理小技巧本文出自《React Native 每日一学(Learn a little every day)》栏目。 场景AsyncStorage是React Native推荐的数据存储方式。当我们需要根据条件从本地查询出多条记录时,你会想到来一个 那么如何才能快速的从众多记录中将符合条件的记录查询出来呢? AsyncStorage key管理为了方便查询多条符合规则的记录,我们可以在保存数据前,对这条数据进行分类,然后记录下这条记录的key。下次再查询该数据前,只需要先查询之前保存的key,然后通过 用例
第一步:保存数据 saveFavoriteItem(key,vaule,callback) {
AsyncStorage.setItem(key,(error,result)=>{
if (!error) {//更新Favorite的key
this.updateFavoriteKeys(key,true);
}
});
}
第二步:更新key /** * 更新Favorite key集合 * @param isAdd true 添加,false 删除 * **/
updateFavoriteKeys(key,isAdd){
AsyncStorage.getItem(this.favoriteKey,result)=>{
if (!error) {
var favoriteKeys=[];
if (result) {
favoriteKeys=JSON.parse(result);
}
var index=favoriteKeys.indexOf(key);
if(isAdd){
if (index===-1)favoriteKeys.push(key);
}else {
if (index!==-1)favoriteKeys.splice(index,1);
}
AsyncStorage.setItem(this.favoriteKey,JSON.stringify(favoriteKeys));
}
});
}
第一步:查询key getFavoriteKeys(){//获取收藏的Respository对应的key
return new Promise((resolve,reject)=>{
AsyncStorage.getItem(this.favoriteKey,result)=>{
if (!error) {
try {
resolve(JSON.parse(result));
} catch (e) {
reject(error);
}
}else {
reject(error);
}
});
});
}
第二步:根据key查询数据
About本文出自《React Native 每日一学(Learn a little every day)》栏目。 了解更多,可以关注我的:
推荐阅读
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |