账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    localStorage存储数据问题
    58
    0

    代码如下:

        [SAVE_COLLECT](state,collectId){
            let collectArr = state.collectList.push(collectId);
            console.log(collectArr)
            //存入localStorage
            setStore('collectList',collectArr);
            console.log(window.localStorage)
        },

    传进来的值collectId是产品id,目的是每次点击不同的产品,将产品id存入localStorage,
    问题:console.log(collectArr)点击第一个产品,输出的是1,而不是一个包含产品id的数组

    Storage {collectList: "1", loglevel:webpack-dev-server: "WARN", prolist: "{"productId":22643,"title":"山水间隐一份禅心","cover":"htt…rice":0,"currentPrice":873,"channel":"","tab":""}", userInfo: "{"phone":"123456","code":"1234"}", length: 4}
    2
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 久碍你 普通会员 1楼

      localStorage是一种轻量级的、非持久化的本地存储,它允许用户存储在浏览器中的一小部分数据。localStorage的主要优点是其使用简单,无需任何服务器支持。然而,它也有一些缺点,如数据丢失和性能问题。

      数据丢失:当浏览器关闭或者浏览器设备的电源断开时,localStorage的数据将被删除。这可能会导致存储在这些位置的数据无法被访问。

      性能问题:由于localStorage的数据是存储在服务器端的,所以当在多个设备上同时打开浏览器时,如果所有的设备都连接到同一台服务器,那么存储在localStorage的数据可能会被其他设备访问到,这可能会导致数据泄漏。

      要解决这些问题,可以使用一些优化技巧,如:

      1. 将数据存储在服务器端:如果可能的话,将数据存储在服务器端,而不是在浏览器中。这将减少数据丢失的风险,并提高性能。

      2. 使用sessionStorage:sessionStorage是一种在客户端存储数据的轻量级技术,它可以确保在多个设备上共享的数据的安全性。但是,sessionStorage的数据也会丢失,如果sessionStorage被删除。

      3. 使用cookies:cookies是一种在客户端存储数据的轻量级技术,它可以确保在多个设备上共享的数据的安全性。但是,cookies的数据也会丢失,如果cookies被删除。

      4. 使用localStorage的只读模式:如果可能的话,使用localStorage的只读模式。这将确保只读数据的安全性,但是数据的删除将会丢失。

      5. 使用浏览器的localStorage和sessionStorage:如果浏览器不支持localStorage和sessionStorage,那么可以使用浏览器的localStorage和sessionStorage来存储数据。但是,这将需要用户在浏览器的设置中启用这些存储技术。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部