Skip to content

4.4.1 为什么需要数据存储

本步目标:理解数据存储的必要性,了解 localStorage 的基本概念

小李的困惑

还记得第二章的小李吗?他兴冲冲地完成了待办清单的交互功能,添加了几个任务,准备明天继续用。

第二天打开电脑,打开页面——任务列表空空如也

"我的任务呢?"小李懵了。

这不是 Bug,而是因为小李的待办清单还缺少最后一个关键能力:数据存储

用生活类比理解

想象两种记录方式:

场景类比结果
在沙滩上写字数据只存在浏览器内存中浪一来(刷新页面),字就没了
在石板上刻字数据存储到 localStorage风吹雨打(刷新、关闭),字还在

目前我们的待办清单就像在沙滩上写字。本轮要做的,就是把它变成"刻在石板上"。

网页数据存储的几种方式

方式存在哪里特点本章是否使用
localStorage浏览器本地简单、免费、无需配置✅ 使用
sessionStorage浏览器本地关闭标签页就没了❌ 不适合
云数据库远程服务器多设备同步,需要后端❌ 进阶篇内容

为什么选择 localStorage?

对于个人工具类项目,localStorage 是最佳起点:

优势说明
零配置浏览器原生支持,不需要安装任何东西
持久化关闭浏览器、重启电脑,数据依然存在
容量足够约 5MB 空间,存几千条任务都没问题
隐私安全数据只存在你自己的电脑上
学习成本低只需要两个方法:保存和读取

localStorage 的局限性

当然,localStorage 也有不适用的场景:

场景为什么不适合解决方案
多设备同步数据只存在当前浏览器需要云数据库(进阶篇)
团队协作别人看不到你的数据需要后端服务(进阶篇)
大量数据超过 5MB 会报错需要专业数据库

进阶预告

在进阶篇中,我们会学习如何使用 Supabase 等云数据库服务,实现多设备同步和数据备份。但对于个人工具的第一版来说,localStorage 完全够用。

本节检查点

在继续之前,确认你理解了:

  • [ ] 目前待办清单的数据为什么会在刷新后消失
  • [ ] localStorage 是什么(浏览器提供的本地存储空间)
  • [ ] 为什么我们选择 localStorage 作为第一步

理解了这些概念,接下来就可以动手实现了。

4.4.2 使用本地存储(localStorage)