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