当前位置: 首页 > news >正文

React Native数据存储

最近做RN开发中需要数据存储,查阅RN官方资料,发现推荐我们使用 AsyncStorage,对使用步骤做一下记录。

AsyncStorage是什么

  • 简单的,异步的,持久化的key-value存储系统
  • AsyncStorage在IOS下存储分为两种情况:
    • 存储内容较小,AsyncStorage会存储在序列化的字典中
    • 存储内容大,AsyncStorage会将数据单独存储在一个文件中
  • AsyncStorage在Android下,会将数据存储在SQLite或者RocksDB中,具体存储在哪里取决于设备支持哪一种方式

如何使用

安装
1.with npm:
npm install @react-native-async-storage/async-storage
2.如果是mac系统还需要pod-install一下:
npx pod-install
使用
import AsyncStorage from '@react-native-async-storage/async-storage';

存储数据:

static setItem(key: string, value: string, [callback]: ?(error: ?Error) => void)
async saveData() {//用法一AsyncStorage.setItem(KEY, this.value, error => {error && console.log(error.toString());});//用法二AsyncStorage.setItem(KEY, this.value).catch(error => {error && console.log(error.toString());});//用法三try {await  AsyncStorage.setItem(KEY, this.value);} catch (error) {error && console.log(error.toString());}
}

获取数据:

static getItem(key: string, [callback]: ?(error: ?Error, result: ?string) => void)
async getData() {//用法一AsyncStorage.getItem(KEY, (error, value) => {this.setState({showText: value});console.log(value);error && console.log(error.toString());});//用法二AsyncStorage.getItem(KEY).then(value => {this.setState({showText: value});console.log(value);}).catch(error => {error && console.log(error.toString());});//用法三try {const value = await  AsyncStorage.getItem(KEY);this.setState({showText: value});console.log(value);} catch (error) {error && console.log(error.toString());}
}

删除数据:

static removeItem(key: string, [callback]: ?(error: ?Error) => void)
async removeData() {//用法一AsyncStorage.removeItem(KEY,error => {error && console.log(error.toString());});//用法二AsyncStorage.removeItem(KEY).catch(error => {error && console.log(error.toString());});//用法三try {await  AsyncStorage.removeItem(KEY);} catch (error) {error && console.log(error.toString());}
}

相关文章:

React Native数据存储

最近做RN开发中需要数据存储,查阅RN官方资料,发现推荐我们使用 AsyncStorage,对使用步骤做一下记录。 AsyncStorage是什么 简单的,异步的,持久化的key-value存储系统AsyncStorage在IOS下存储分为两种情况: 存储内容较…...

【网络编程】揭开套接字的神秘面纱

文章目录 1 :peach:简单理解TCP/UDP协议 :peach:2 :peach:网络字节序 :peach:3 :peach:socket编程接口 :peach:3.1 :apple:socket 常见API :apple:3.2 :apple:sockaddr结构:apple: 4 :peach:简单的UDP网络程序 :peach:4.1 :apple:基本分析:apple:4.2 :apple:udpServer.hpp(重点…...

MySQL 8.0 事务定义和基本操作

MySQL 事务(Transaction)的四大特性:A、C、I、D A、原子性:(Atomicity) 一个事务是不可分割的最小工作单位。 执行的事务,要么全部成功,要么回滚到执行事务之前的状态。 C、一致…...

项目经理必备:常用的项目管理系统推荐!

当我们成为项目负责人时,找到合适的工具来管理跟进项目,就成为了迫切需要解决的问题。一款优秀的工具,在项目的管理跟进中,起着极为重要的作用,一般可以付费购买专门的项目管理软件。 1.可快速切换查看不同角度的项目信…...

【香瓜说职场】信任危机(2022.08.19)

自从17年4月份开始辞职创业,已经5年零4个月了。今天跟大家聊一点不太正能量的事。 首先关于“要不要说些不好的”这件事,我爸妈常建议我不要把不好的事情写出来,因为觉得丢人、不体面、怕影响合伙人关系、影响同事关系。而我觉得如果只写好的…...

【Rust】Rust学习 第六章枚举和模式匹配

本章介绍 枚举(enumerations),也被称作 enums。枚举允许你通过列举可能的 成员(variants) 来定义一个类型。首先,我们会定义并使用一个枚举来展示它是如何连同数据一起编码信息的。接下来,我们会…...

Win10安装GPU支持的最新版本的tensorflow

我在安装好cuda和cudnn后,使用pip install tensorflow安装的tensorflow都提示不能找到GPU, 为此怀疑默认暗转的tensorflow是不带GPU支持的。 在tensorflow官网提供了多个版本的GPU支持的windows的安装包 https://www.tensorflow.org/install/pip?hlz…...

20个Golang自动化DevOps库

探索 20 个用于简化任务和提高生产力的重要库。 Golang,也称为 Go,是一种静态类型、编译型编程语言,由 Google 的 Robert Griesemer、Rob Pike 和 Ken Thompson 设计。它于 2009 年推出,旨在解决其他编程语言的缺点,特…...

【WiFi】WiFi 6E最新支持的国家和频段

信道Map图 国家和频段 CountryStatus Spectrum Andorra Adopted Considering 5945-6425 MHz 6425-7125 MHz ArgentinaAdopted5925-7125 MHzAustralia Adopted Considering 5925-6425 MHz 6425-7125 MHz Austria Adopted Considering 5945-6425 MHz 6425-7125 MHz BahrainA…...

如何使用html,包括css,js 画思维导图?有哪些可用的方法?

首先&#xff0c;创建一个新的HTML文件&#xff0c;可以使用任何文本编辑器。在文件中添加必要的标签和结构来定义网页的内容和布局。 <!DOCTYPE html> <html> <head><meta charset"UTF-8"><title>Mind Map</title><link re…...

机器学习---梯度下降代码

1. 归一化 # Read data from csv pga pd.read_csv("pga.csv") print(type(pga))print(pga.head())# Normalize the data 归一化值 (x - mean) / (std) pga.distance (pga.distance - pga.distance.mean()) / pga.distance.std() pga.accuracy (pga.accuracy - pg…...

【VB6|第23期】原来Jet.OLEDB也可以读取新版.xlsx的Excel文件

日期&#xff1a;2023年8月11日 作者&#xff1a;Commas 签名&#xff1a;(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释&#xff1a;如果您觉得有所帮助&#xff0c;帮忙点个赞&#xff0c;也可以关注我&#xff0c;我们一起成长&#xff1b;如果有不对的地方&#xf…...

通过控制ros节点的启停,软实现人工控制和紧急停止功能的图示

通过控制ros节点的启停&#xff0c;软实现人工控制和紧急停止功能的图示 实现原理简介&#xff1a; 人工控制的节点&#xff1a; 键盘节点 方向盘节点 自动控制的节点&#xff1a; movebase 导航 autoware 等 底盘节点&#xff1a; 差速底盘 阿克曼底盘 控制节点&#xff1…...

面试热题(滑动窗口最大值)

给你一个整数数组 nums&#xff0c;有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 输入&#xff1a;nums [1,3,-1,-3,5,3,6,7], k 3 输出&#xff1a;[3,3,5,…...

【代码】表格封装 + 高级查询 + 搜索 +分页器 (极简)

一、标题 查询条件按钮&#xff08;Header&#xff09; <!-- Header 标题搜索栏 --> <template><div><div class"header"><div class"h-left"><div class"title"><div class"desc-test">…...

ant.design 组件库中的 Tree 组件实现可搜索的树: React+and+ts

ant.design 组件库中的 Tree 组件实现可搜索的树&#xff0c;在这里我会详细介绍每个方法&#xff0c;以及容易踩坑的点。 效果图&#xff1a; 首先是要导入的文件 // React 自带的属性 import React, { useMemo, useState } from react; // antd 组件库中的&#xff0c;输入…...

Linux系统编程之信号(上)

一、信号概念 信号就是软件中断。每当程序收到一个信号&#xff0c;都需要按指定的方法去处理。以下是UNIX系统的信号表。 其中core表示产生一个复制了该进程内存映像的core文件&#xff0c;它保存了程序现场&#xff0c;可以使用gdb来调试。 二、signal() signal()函数用于改…...

23.Netty源码之内置解码器

highlight: arduino-light Netty内置的解码器 在前两节课我们介绍了 TCP 拆包/粘包的问题&#xff0c;以及如何使用 Netty 实现自定义协议的编解码。可以看到&#xff0c;网络通信的底层实现&#xff0c;Netty 都已经帮我们封装好了&#xff0c;我们只需要扩展 ChannelHandler …...

sigmoid ReLU 等激活函数总结

sigmoid ReLU sigoid和ReLU对比 1.sigmoid有梯度消失问题&#xff1a;当sigmoid的输出非常接近0或者1时&#xff0c;区域的梯度几乎为0&#xff0c;而ReLU在正区间的梯度总为1。如果Sigmoid没有正确初始化&#xff0c;它可能在正区间得到几乎为0的梯度。使模型无法有效训练。 …...

RabbitMQ 消息队列

文章目录 &#x1f370;有几个原因可以解释为什么要选择 RabbitMQ&#xff1a;&#x1f969;mq之间的对比&#x1f33d;RabbitMQ vs Apache Kafka&#x1f33d;RabbitMQ vs ActiveMQ&#x1f33d;RabbitMQ vs RocketMQ&#x1f33d;RabbitMQ vs Redis &#x1f969;linux docke…...

Windows Server 2022上Checkmarx CxSAST 9.5.0保姆级安装与汉化指南(含Java 17配置避坑)

Windows Server 2022企业级Checkmarx CxSAST 9.5.0深度部署与优化实战 在企业安全体系建设中&#xff0c;静态应用安全测试(SAST)已成为DevSecOps流程的核心环节。作为行业领先的SAST解决方案&#xff0c;Checkmarx CxSAST 9.5.0版本在Windows Server 2022环境下的部署需要专业…...

敏捷教练的必备工具箱:让团队真正“敏捷”起来

在敏捷转型的浪潮中&#xff0c;软件测试从业者扮演着至关重要的角色。我们既是质量关隘的守卫者&#xff0c;也是流程效率的体验者与反馈者。然而&#xff0c;许多团队的“敏捷”实践常常流于形式&#xff0c;站会、看板、迭代回顾一应俱全&#xff0c;却未能触及敏捷的核心—…...

如何用WeChatMsg守护你的数字记忆:从聊天记录到个人AI数据中心的蜕变

如何用WeChatMsg守护你的数字记忆&#xff1a;从聊天记录到个人AI数据中心的蜕变 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Tre…...

2025届最火的十大AI写作工具解析与推荐

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 针对人工智能辅助开题报告撰写这一已日益成为学术研究高效手段的情况&#xff0c;首先&#…...

ImageStrike:一站式CTF图像隐写分析工具的18种实战技巧

ImageStrike&#xff1a;一站式CTF图像隐写分析工具的18种实战技巧 【免费下载链接】ImageStrike ImageStrike是一款用于CTF中图片隐写的综合利用工具 项目地址: https://gitcode.com/gh_mirrors/im/ImageStrike 在CTF竞赛和网络安全研究中&#xff0c;图像隐写分析常常…...

19.【AI权限与成本控制系统实战】一次API被刷爆让我损失上千元:如何设计企业级权限+配额系统?(完整落地方案)

【AI权限与成本控制系统实战】一次API被刷爆让我损失上千元&#xff1a;如何设计企业级权限配额系统&#xff1f;&#xff08;完整落地方案&#xff09;一、问题场景&#xff08;真实事故复盘&#xff09; 这是我做AI系统以来&#xff0c;最“肉疼”的一次事故。 某天凌晨&…...

锐捷交换机NFPP配置避坑指南:汇聚层端口限速调多少才不误伤用户?

锐捷交换机NFPP实战调优&#xff1a;如何平衡安全防护与业务连续性 当园区网的ARP请求如潮水般涌向汇聚层交换机时&#xff0c;NFPP功能就像一位严格的安检员——设置过于宽松会导致CPU资源被恶意流量耗尽&#xff0c;而阈值过于苛刻又会误伤正常业务流量。去年某高校网络中断事…...

2026年,明星偏爱老爹鞋,背后有何秘密?

到2026年&#xff0c;老爹鞋已从潮流单品演变为明星和大众都青睐的日常鞋款。其背后原因主要有以下几点&#xff1a;&#x1f45f; 舒适实用&#xff0c;为奔波而生老爹鞋源于上世纪八九十年代注重功能性的运动鞋&#xff0c;其厚底、宽鞋身和复杂结构提供了出色的支撑与缓冲。…...

Flux Sea Studio 海景摄影生成工具:MySQL数据库管理生成作品与用户数据

Flux Sea Studio 海景摄影生成工具&#xff1a;MySQL数据库管理生成作品与用户数据 最近在折腾一个AI图像生成平台的后台&#xff0c;核心功能是让用户能生成各种风格的海景摄影作品。功能跑起来后&#xff0c;问题来了&#xff1a;用户生成的作品越来越多&#xff0c;怎么存&…...

MZmine3数据处理工具终极指南:构建高效工作流的5个关键步骤

MZmine3数据处理工具终极指南&#xff1a;构建高效工作流的5个关键步骤 【免费下载链接】mzmine3 mzmine source code repository 项目地址: https://gitcode.com/gh_mirrors/mz/mzmine3 MZmine3作为一款强大的质谱数据处理工具&#xff0c;为科研人员提供了从原始数据导…...