首页 > 解决方案 > 当我在反应中单击链接组件时如何重新加载页面?

问题描述

我正在使用 reactJS 制作注销功能。当我单击注销按钮时,本地存储的令牌被删除。但是,虽然localstroage被删除了,但是在重新加载页面之前,我的header并没有注意到变化。(当页面是根页面时“/”。如果页面不是根页面,它可以正常工作。)我该如何解决这??

<Link to="/" onClick={AuthenticationService.logout} className="headerBtn">
     logout
</Link>
logout() {
     localStorage.removeItem("authenticatedUser");
     localStorage.removeItem("token");
         }

标签: javascriptreactjslogout

解决方案


在此状态更改之后,您确定要重新加载整个页面还是再次渲染它?

重新渲染比浏览器重新加载要快得多,因为它只会更新需要的部分,而不是再次重新打开整个 Web 应用程序。

如果您确实有 react 的状态,您可以在其中保留用户是否登录的指示,那么setState()在您的logout()函数中调用将重新呈现您的视图。


推荐阅读