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 画思维导图?有哪些可用的方法?
首先,创建一个新的HTML文件,可以使用任何文本编辑器。在文件中添加必要的标签和结构来定义网页的内容和布局。 <!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文件
日期:2023年8月11日 作者:Commas 签名:(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释:如果您觉得有所帮助,帮忙点个赞,也可以关注我,我们一起成长;如果有不对的地方…...
通过控制ros节点的启停,软实现人工控制和紧急停止功能的图示
通过控制ros节点的启停,软实现人工控制和紧急停止功能的图示 实现原理简介: 人工控制的节点: 键盘节点 方向盘节点 自动控制的节点: movebase 导航 autoware 等 底盘节点: 差速底盘 阿克曼底盘 控制节点࿱…...
面试热题(滑动窗口最大值)
给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 输入:nums [1,3,-1,-3,5,3,6,7], k 3 输出:[3,3,5,…...
【代码】表格封装 + 高级查询 + 搜索 +分页器 (极简)
一、标题 查询条件按钮(Header) <!-- 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 组件实现可搜索的树,在这里我会详细介绍每个方法,以及容易踩坑的点。 效果图: 首先是要导入的文件 // React 自带的属性 import React, { useMemo, useState } from react; // antd 组件库中的,输入…...
Linux系统编程之信号(上)
一、信号概念 信号就是软件中断。每当程序收到一个信号,都需要按指定的方法去处理。以下是UNIX系统的信号表。 其中core表示产生一个复制了该进程内存映像的core文件,它保存了程序现场,可以使用gdb来调试。 二、signal() signal()函数用于改…...
23.Netty源码之内置解码器
highlight: arduino-light Netty内置的解码器 在前两节课我们介绍了 TCP 拆包/粘包的问题,以及如何使用 Netty 实现自定义协议的编解码。可以看到,网络通信的底层实现,Netty 都已经帮我们封装好了,我们只需要扩展 ChannelHandler …...
sigmoid ReLU 等激活函数总结
sigmoid ReLU sigoid和ReLU对比 1.sigmoid有梯度消失问题:当sigmoid的输出非常接近0或者1时,区域的梯度几乎为0,而ReLU在正区间的梯度总为1。如果Sigmoid没有正确初始化,它可能在正区间得到几乎为0的梯度。使模型无法有效训练。 …...
RabbitMQ 消息队列
文章目录 🍰有几个原因可以解释为什么要选择 RabbitMQ:🥩mq之间的对比🌽RabbitMQ vs Apache Kafka🌽RabbitMQ vs ActiveMQ🌽RabbitMQ vs RocketMQ🌽RabbitMQ vs Redis 🥩linux docke…...
接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...
AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
大数据学习栈记——Neo4j的安装与使用
本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...
LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...
【项目实战】通过多模态+LangGraph实现PPT生成助手
PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...
微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...
【笔记】WSL 中 Rust 安装与测试完整记录
#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统:Ubuntu 24.04 LTS (WSL2)架构:x86_64 (GNU/Linux)Rust 版本:rustc 1.87.0 (2025-05-09)Cargo 版本:cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制
使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下,限制某个 IP 的访问频率是非常重要的,可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案,使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...
逻辑回归暴力训练预测金融欺诈
简述 「使用逻辑回归暴力预测金融欺诈,并不断增加特征维度持续测试」的做法,体现了一种逐步建模与迭代验证的实验思路,在金融欺诈检测中非常有价值,本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...
