react native异步本地存储AsyncStorage的使用

2017-2-19    分类: react native

本地存储的作用就是能够实现例如:保存用户曾经的搜索记录、视频的播放记录、购物记录等等。不把这些数据存储在数据库是因为没必要浪费资源,这些数据也是可有可无的不重要。

react native也有跟Html5类似的localStorage功能那就是AsyncStorage。

AsyncStorage是全局操作,意思就是AsyncStorage中的this指向的是全局对象。类似于js中的window。官方推荐我们封装后使用不要直接使用。

var React=require('react');
var react_native=require('react-native');
var {
  AsyncStorage
} = react_native;


设置:
AsyncStorage.setItem('myname', JSON.stringify({name:'陈陈'}));

获取:
AsyncStorage.getItem('myname').then(function(data){  ... });

删除:
AsyncStorage.removeItem(key);


批量操作:
AsyncStorage.multiSet([['user1','用户1'],['user2','用户2']]).then(function(data){  ... })
AsyncStorage.multiGet(['user1','user2']).then(function(data){  ... })

 

 

注意:AsyncStorage是异步操作,在获取值得时候要注意

AsyncStorage.setItem('myname', JSON.stringify(this.state)).then(function () {
 AsyncStorage.getItem('myname').then(function (data) {
   console.log(this);
   console.log(data)
 }.bind(this))
})