如何仅在组件初始加载时删除本地存储值

问题描述 投票:0回答:3

我遇到的情况是,我在本地存储中存储了一些值。我想在页面第一次加载时清除这些值。但是,在那之后,如果我想再次设置这些值,我应该能够做到这一点,并且页面刷新也不应该删除它。所以。问题是:是否有任何方法可以仅在组件的初始加载时执行某些操作,然后不执行任何操作。

javascript reactjs local-storage
3个回答
1
投票

您可以创建一个

count
变量,当
react
应用程序首次运行时
useEffect
将从
localstorage
中删除所需的项目,并将本地存储中的
count
设置为
1
,然后每次
component
重新设置-渲染如果计数为 1,它将签入
localstorage
如果计数为 1,则不会从
localstorage
中删除项目。

useEffect(() => {
  if(localStorage.getItem('count') !== '1') {
    localStorage.removeItem('val')
    localStorage.setItem('count', '1')
  }
  set()
}, [])

const set = () => {
  localStorage.setItem('val', 'skndkj')
}

0
投票

是的,这就是

sessionStorage
的典型用法。其工作原理与
localStroage
相同,但用户关闭浏览器后就会清晰。但是,在页面重新加载之间,它会被保留。

你可以这样使用它:

// Save data to sessionStorage
sessionStorage.setItem('key', 'value');

// Get saved data from sessionStorage
const data = sessionStorage.getItem('key');

0
投票

您可以通过添加日期作为数据的额外值来实现这一点。然后,只需检查日期是否是当前日期。如果不是当前日期,它将清除您的本地存储。

© www.soinside.com 2019 - 2024. All rights reserved.