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