删除localStorage时刷新页面

时间:2019-06-01 17:01:28

标签: reactjs local-storage

我正在用reactjs构建应用程序。

我在localStorage中使用JWT,以便在后端的每个请求中对用户进行身份验证。

我想做的是当通过cookie从用户中删除localStorage或JWT令牌到期时自动注销用户。

是否可以添加在删除localStorage时触发的侦听器?

现在我正在做

if(!!localStorage.getItem('id_token') && !this.isTokenExpired(token)) {
  // eslint-disable-next-line
  location.reload(true);
}

它可以工作,但是在每个按钮功能中添加这些代码行效率不高。

所以我想要一个侦听器,当localStorage删除或过期时,将触发上述代码。

有什么建议吗?预先谢谢你

1 个答案:

答案 0 :(得分:0)

最后,我通过添加事件侦听器和index.js来解决它

function change(abba) {
  if (abba.style.color !== "red") {
    abba.style.color = "red";
  } else {
    abba.style.color = "green";
  }
}

因此,当存储发生更改时,我会检查用户是否已登录并重新加载页面。重新加载页面后,我注销用户。