ReactNative(API)AsyncStorage存储

来源:互联网 发布:自制地图软件 编辑:程序博客网 时间:2024/04/29 21:52

AsyncStorage存储类似Android中的sharedpreference存储或者IOS中的NSDefaultUser不过ReactNative中的AsyncStorage只能存储字符串类型

这里写图片描述

常用方法:

  • getItem(key:string,callback?:?(error:?Error,result:?string)=>void) 静态方法,该通过key字段来进行查询存储的数据,把该结果值作为参数传入第二个callback方法。如果发生错误,会把Error对象传入callback方法。该方法最终返回一个Promise对象

  • setItem(key:string,value:string,callback?:?(error:?Error)=>void) 静态方法,该根据key字段设置value内容,完成之后进行回调callback方法。如果发生错误会把Error对象传入callback方法中。该方法返回一个Promise对象。

  • removeItem(key:string,callback?:?(error:?Error)=>void) 静态方法,根据key进行删除值,成功之后进行回调callback方法。如果发生错误会把Error对象传入callback方法中。该方法返回一个Promise对象。

/** * Created by Administrator on 2016/9/12. */import React, {Component} from 'react';import {    StyleSheet,    View,    Text,    AsyncStorage} from 'react-native';var keyName = 'name';var keyValue = '张三';class AsyncStorageG extends Component {    constructor(props) {        super(props);        this.state = {            result: '初始值'        };    }    render() {        return (            <View style={{flex: 1}}>                <Text                    style={styles.text}                    onPress={this.save.bind(this)}>存</Text>                <Text                    style={styles.text}                    onPress={()=>this.load()}>取</Text>                <Text                    style={styles.text}                    onPress={()=> this.remove()}>删除</Text>                <Text                    style={styles.text}                >存储的内容是------------------{this.state.result}</Text>            </View>        )    }    /**     * 存数据     */    save() {        //this 是指当前对象        this2 = this;        AsyncStorage.setItem(keyName, keyValue, function (error) {            if (error) {                alert('存储失败');            } else {                this2.setState(                    {                        result: '数据已经保存,取出来看看吧!!!'                    }                )            }        })    }    /**     * 取数据     */    load() {        //this 是指当前对象        this2 = this;        AsyncStorage.getItem(keyName, function (error, result) {            if (!error) {                this2.setState(                    {                        result: result === null ? '数据已经删除,现在取的是空值' : result                    }                )            }        })    }    /**     * 两个参数:     * 一个是要删除指定key内容     * 第二个是一个回调函数     */    remove() {        //this 是指当前对象        this2 = this;        AsyncStorage.removeItem(keyName, function (error) {            if (!error) {                this2.setState(                    {                        result: '数据已经删除'                    }                )            }        })    }}const styles = StyleSheet.create({    text: {        fontSize: 20    }});//es6写法export default AsyncStorageG;
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 奥迪a8气囊灯亮怎么办 驾考站岗迟到了怎么办 老板欠员工工资不给怎么办 如果有一天我没头发了怎么办 苏州公积金密码忘了怎么办 科二考试第二把怎么办 科一老是记不住怎么办 科目二考试没去怎么办 网约车驾龄不到怎么办 科四预约不上怎么办 教练不退钱怎么办找谁 驾考出入证丢了怎么办 科二成绩单丢了怎么办 考驾照的准考证丢了怎么办 驾考预约去不了怎么办 科目一预约没去怎么办 打狂犬疫苗期间感冒了怎么办 公司社保欠费不交怎么办 25号社保不交怎么办欠费 会计从业停考了怎么办 黑龙江龙育黄了档案怎么办 科目四档案丢了怎么办 从上海调档案到杭州怎么办 户口迁移身份证变更护照怎么办 有中国签证的孩子怎么办户口 大学生户口在学校怎么办签证 户口在南方人才市场怎么办签证 报警电话接到说方言的怎么办 学生去新加坡旅游签证怎么办 出入境的受理编号不见了怎么办 职工下岗档案单位丢失怎么办退休 大学毕业档案在自己手里怎么办 青岛李沧区房产证加名字怎么办手续 公积金迟交了1天怎么办 科一预约不上怎么办 科目一考试没去怎么办 科目一成绩单丢了怎么办 考科目二身份证丢了怎么办 考科目三身份证丢了怎么办 考科目一身份证丢了怎么办 滴滴顺风车被永久封禁怎么办