AsyncStorage基本用法

作者: 浮萍逐浪 | 来源:发表于2019-07-21 17:32 被阅读6次

AsyncStorage是一个简单的、异步的、持久化的 Key-Value 存储系统,它对于 App 来说是全局性的。有一个极大的缺点就是:只可以存储字符串。也就是说,如果需要将对象或者数组等存入到AsyncStorage中需要先将他们转为字符串。

一、增加

 AsyncStorage.setItem('text', '葫芦小金刚', (error) => {
            error ? this.setState({ text: '增加失败' }) : this.setState({ text: '增加成功' })
          })

二、删除

AsyncStorage.removeItem('text',(error)=>{
            error ? this.setState({ text: '删除失败' }) : this.setState({ text: '删除成功' })
          })

三、更改

AsyncStorage.setItem('text', '爷爷',(error)=>{
            error ? this.setState({ text: '更改失败' }) : this.setState({ text: '更改成功' })
          })

四、查询

 AsyncStorage.getItem('text').then((value) => {
            if (value) {
              this.setState({
                text: value,
              })
            }else{
              this.setState({
                text:'啥也没存'
              })
            }
          })

五、上代码

import React from 'react';
import { StyleSheet, View, TouchableOpacity, Text, AsyncStorage } from 'react-native';


export default class TestPages extends React.Component {
  constructor(props) {
    super(props)
    this.state = {
      text: '啥也没有',
    }
  }
  render() {
    return (
      <View style={styles.view}>
        <Text style={styles.text}>
          {this.state.text}
        </Text>

        {/* 增加 */}
        <TouchableOpacity style={styles.touch} onPress={() => {
          AsyncStorage.setItem('text', '葫芦小金刚', (error) => {
            error ? this.setState({ text: '增加失败' }) : this.setState({ text: '增加成功' })
          })
        }}>
          <Text>增加</Text>
        </TouchableOpacity>
        {/* 删除 */}
        <TouchableOpacity style={styles.touch} onPress={() => {
          AsyncStorage.removeItem('text',(error)=>{
            error ? this.setState({ text: '删除失败' }) : this.setState({ text: '删除成功' })
          })
        }}>
          <Text>删除</Text>
        </TouchableOpacity>
        {/* 更改 */}
        <TouchableOpacity style={styles.touch} onPress={() => {
          AsyncStorage.setItem('text', '爷爷',(error)=>{
            error ? this.setState({ text: '更改失败' }) : this.setState({ text: '更改成功' })
          })
        }}>
          <Text>更改</Text>
        </TouchableOpacity>
        {/* 查询 */}
        <TouchableOpacity style={styles.touch} onPress={() => {
          AsyncStorage.getItem('text').then((value) => {
            if (value) {
              this.setState({
                text: value,
              })
            }else{
              this.setState({
                text:'啥也没存'
              })
            }
          })
        }}>
          <Text>查询</Text>
        </TouchableOpacity>


      </View>
    )
  }
}

const styles = StyleSheet.create({
  view: {
    backgroundColor: '#fff',
    width: '100%',
    height: '100%',
    flexDirection: 'column',
    justifyContent: 'center',
    alignItems:'center',
  },
  touch: {
    width: 100,
    height: 50,
    marginTop:50,
    backgroundColor: '#0f0',
    display: 'flex',
    justifyContent: 'center',
    alignItems: 'center',
  },
  touchText: {
    fontSize: 20,
    color: '#000',
  }
});



六、总结

AsyncStorage最大的缺点就是只能存储字符串,因此,在存储对象或数组的时候需要将它们转成字符串的形式存入,这样很不方便。相比之下mobx更具有优势,建议取而代之。
不过,AsyncStorage也有它的好处,例如在开发APP的时候,需要设计这么一个功能:用户登录一次后无需每次登录,这就需要将用户的相关信息持久化的存储在AsyncStorage中。

本来想放一个演示在这,结果电脑上没有相关的视频转gif软件,后续更新吧。祝成功!

相关文章

  • AsyncStorage基本用法

    AsyncStorage是一个简单的、异步的、持久化的 Key-Value 存储系统,它对于 App 来说是全局性...

  • React Native 数据存储

    1. AsyncStorage 1). AsyncStorage AsyncStorage是一个简单的、异步的、持...

  • RN:网络编程、数据持久化与离线缓存的实现

    目录一. 网络编程二. 数据持久化 1. AsyncStorage是什么 2. 怎么使用AsyncStorage三...

  • AsyncStorage

    1: 设置缓存 **注意: **存储的数据类型必须是字符串类型如果要储存的输入时一个对象或者数组等, 可以使用 J...

  • AsyncStorage

    在reac-native下,没有document,没有local Storage等,官方使用AsyncStorag...

  • 定时器

    setTimeout和clearTimeout基本用法 setInterval和clearInterval基本用法...

  • 2019-11-16

    E战到底DAY14 SUMIF和SUMIFS函数 一.基本用法 SUMIF基本用法 SUMIFS基本用法 SUMI...

  • 身份的认证1

    handlerSet = async () => { await AsyncStorage.setItem("...

  • ReactNative AsyncStorage 工具类

    AsyncStorage 工具类 使用说明

  • RN-AsyncStorage

    基本概念 1 AsyncStorage 2 相关方法 根据键来获取值, 获取的值放在回调函数中 根据键来设置值。 ...

网友评论

    本文标题:AsyncStorage基本用法

    本文链接:https://www.haomeiwen.com/subject/micvlctx.html