搜索
您的当前位置:首页正文

ReactNative 数据持久化

来源:哗拓教育
npm install react-native-storage --save

2、导入:

import Storage from 'react-native-storage';

不要使用 require 语法导入。
3、初始化
因为我主要存储登录状态,所以需要全局存储。

import Storage from 'react-native-storage';
var storage = new Storage({ // 初始化
    size:1000,
    storageBackend: AsyncStorage,
    defaultExpires: null,
    enableCache:true,
});
global.storage = storage;//全局化

初始化时其实还有一个异步默认的方法,但是我这里不需要这个,所以我就没有进行设定。
这样全局化之后,我在任何地方,用storage就可以取到它并对它进行操作。
4、保存

var userName = e.username;
var userKey = e.key;
storage.save({
    key:'loginState’, // 相当于起了一个名字
    rawData: {
        userName:userName,
        userKey:userKey,
    },
});

5、读取

storage.load({
    key:'loginState',
}).then(ret => {  // ret中有值时返回
    this.setState({
        userName:ret.userName,
        userKey:ret.userKey,
    });
}).catch(err => { // ret中无值或异常时跳到登录界面
    this.props.nav.push({
        title:'Login',
        id:'login',
    });
});

6、删除

storage.remove({
    key:'loginState’,  //删除loginState
});

当然还有好几种删除方法,可在github上找,我这里只对这种进行了验证。
也有异步加载以及批量数据的读取,但我都还未涉及。

Top