uni-app项目实战笔记21--uniapp缓存的写入和读取

一、缓存的写入

javascript 复制代码
uni.setStorageSync("storageClassList",classifyList.value)

二、缓存的读取,如果缓存不存在,则返回空数组

javascript 复制代码
const storageClassList = uni.getStorageSync("storageClassList") || [];

三、对读取到的数据进行转换处理

javascript 复制代码
// 1. 创建响应式数组
const classList = ref([])  
// 2. 从本地存储读取数据
const storageClassList = uni.getStorageSync("storageClassList") || []; 
// 3. 数据转换处理
classList.value = storageClassList.map(item => {  
  return {
    ...item,  // 保留原数据
    picurl: item.smallPicurl.replace("_small.webp", ".jpg")  // 修改图片格式
  }
})

知识要点1:

const storageClassList = uni.getStorageSync("storageClassList") || []

通过 uni-app 的 API uni.getStorageSync 从本地缓存中读取键为 "storageClassList" 的数据。
如果缓存中没有该数据(返回 null 或 undefined),则默认赋值为空数组 [](避免后续 .map 方法报错)。

要点2:

classList.value = storageClassList.map(item => {...})

对 storageClassList 中的每一项(item)进行 数据转换:
...item:使用扩展运算符保留原对象的所有属性。

picurl: item.smallPicurl.replace("_small.webp", ".jpg"):

将 smallPicurl 字段中的 _small.webp 后缀替换为 .jpg,生成新的 picurl 字段。

将小图格式(_small.webp)转换为标准图片格式(.jpg)。

典型应用场景:

从缓存加载分类数据:在页面初始化时,优先使用本地缓存数据(提升加载速度)。

图片格式统一处理:将缩略图路径转换为高清图路径(可能用于详情页展示)。

数据兼容性处理:确保即使缓存无数据,程序也能安全运行(|| [] 的兜底逻辑)。

注意:uni.getStorageSync 是 uni-app 特有的 API,在非 uni-app 项目中需替换为其他存储方案(如 localStorage)。

相关推荐
少说多做3432 小时前
Git 基础操作笔记(速查)
笔记·git·学习
开始学AI3 小时前
【Datawhale AI夏令营】多模态RAG财报问答挑战赛:学习笔记与上分思考
笔记·学习
程序员JerrySUN3 小时前
四级页表通俗讲解与实践(以 64 位 ARM Cortex-A 为例)
java·arm开发·数据库·redis·嵌入式硬件·缓存
防搞活机3 小时前
强化学习笔记:从Q学习到GRPO
笔记·深度学习·机器学习·强化学习
vision_wei_3 小时前
Redis中间件(四):主从同步与对象模型
网络·数据库·c++·redis·缓存·中间件
Dontla4 小时前
【n8n教程笔记——工作流Workflow】文本课程(第二阶段)——5 自动化业务工作流——0 用例 (Use case)
运维·笔记·自动化
dxnb224 小时前
Datawhale+AI夏令营_让AI读懂财报PDF task2深入赛题笔记
人工智能·笔记·pdf
00后程序员张4 小时前
Charles中文版抓包工具功能解析,提升API调试与网络性能优化
android·ios·小程序·https·uni-app·iphone·webview
君科程序定做4 小时前
软件包管理、缓存、自定义 YUM 源
缓存
你大爷的,这都没注册了4 小时前
webgl渲染管线中的帧缓存,有什么内容
缓存·webgl