javascript - 当我在反应中单击链接组件时如何重新加载页面?
问题描述
我正在使用 reactJS 制作注销功能。当我单击注销按钮时,本地存储的令牌被删除。但是,虽然localstroage被删除了,但是在重新加载页面之前,我的header并没有注意到变化。(当页面是根页面时“/”。如果页面不是根页面,它可以正常工作。)我该如何解决这??
<Link to="/" onClick={AuthenticationService.logout} className="headerBtn">
logout
</Link>
logout() {
localStorage.removeItem("authenticatedUser");
localStorage.removeItem("token");
}
解决方案
在此状态更改之后,您确定要重新加载整个页面还是再次渲染它?
重新渲染比浏览器重新加载要快得多,因为它只会更新需要的部分,而不是再次重新打开整个 Web 应用程序。
如果您确实有 react 的状态,您可以在其中保留用户是否登录的指示,那么setState()
在您的logout()
函数中调用将重新呈现您的视图。
推荐阅读
- c# - Discord.Net 依赖注入 - 运行命令时未找到依赖项
- python-3.x - np.where 遍历条件中的多个选项 - 长度必须匹配错误
- python - PySpark 中的 MapPartition
- jsf - Wildfly 没有带注释的 JSF 类的可见性
- c# - 返回命名 ValueTuple 和成功标志的函数
- amazon-web-services - S3/Lambda - 扫描整个存储桶以获取密钥名称
- python - 如何在熊猫中使用两个字符串作为条件进行布尔过滤
- arrays - 在 jq 实用程序中,当被测试的数组不包含“”时, contains([""]) 是否应该返回 true?
- mongodb - 查询失败,错误代码 2 和错误消息 'cannot set maxTimeMS on getMore command for a non-awaitData cursor' 在服务器上
- typescript - npm 如何发布 typescript 接口定义