localStorage 数据缓存的问题。

想要达到的效果是这样的: 进入页面后,通过接口获取到了到了页面的数据,保存起来,然后退出页面,然后重新再进入页面,又把页面重新获取到的数据和上次存起来的数据合并在一起,可以会多次进入这个页面,数据都要合并在一起, 所以就想通过localStorage去存储。

进入页面,调接口,请求到数据 list,存储到localStorage中:

localStorage.setItem("array", JSON.stringify(list));

然后第二次进入页面时,就把第二次去青岛的数据覆盖掉了第一次的数据,没有达到合并的效果。 所以有些乱,需要怎么修改,或是有没有其他什么方法实现? 万分感谢!

阅读 3.1k
3 个回答

先拿到localstorage的数据,再拿到接口的数据
合并好了再set进去

let oldArr = localStorage.array || [];
let newArr = list;

localStorage.array = [...oldArr,...newArr];

第二次进入页面的时候,先把第一次存的数据取出来,然后再一起合并。

进入页面的时候用一个暂存变量把localstorage的值取出来存起来,然后把第二次请求的值合并后再存localstorage。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题