localStorage 的优化

       在实际的前端开发中,我们可以对localStorage进行优化,当要对较多的用户数据进行存储时,可以将localStorage进行模块化处理,从而更加方便和高效地导入和使用 localStorage 的各个函数和方法,从而更好地实现前端应用的功能和需求,避免每次都使用 JSON.parse 函数进行数据类型的转换和处理

模块化代码

// 封装本地存储模块
export const getItem = name => {
  // 获取数据
  const data = window.localStorage.getItem(name)
  try {
    // data 可能不是json格式的字符串 用try catch 来捕获错误
    // 尝试把数据转为json对象
    return JSON.parse(data)
  } catch (err) {
    // data不是转换错误就直接返回
    return data
  }
}

export const setItem = (name, value) => {
  // 判断传过来的数据是不是对象 如果是对象就转为json格式的字符串
  if (typeof value === 'object') {
    value = JSON.stringify(value)
  }
  // 存入数据
  window.localStorage.setItem(name, value)
}
//移除
export const removeItem = name => {
  window.localStorage.removeItem(name)
}

存储

在模块中使用,可以将一个用户的 user 信息存储到 localStorage 中,例如:

import { setItem } from './storage.js';

const user = {
  token: 'abcdefg123456',
  userId: 1,
};

setItem('hm_shopping_info', user);

读取

也可以从 localStorage 中获取一个用户的 user 信息

import { getItem } from './storage.js';

const user = getItem('hm_shopping_info');

console.log(user.token); // 'abcdefg123456'
console.log(user.userId); // 1

     在实际的前端开发中,需要根据具体的情况和需求,进行权衡和考虑,从而决定是否将 localStorage 封装成一个模块,当然当存储较少的数据时,也可以进行localStorage直接存储

  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值