【问题标题】:Refresh Page in React App if Location Change is same using React-Router如果使用 React-Router 的位置更改相同,则在 React App 中刷新页面
【发布时间】:2020-08-16 00:59:02
【问题描述】:

我一直在开发一个运行良好的 React 应用程序。我有一个导航栏,其中包含指向不同页面的链接。我想要的是,如果从导航栏中再次单击同一页面,我需要 React 重新加载页面。现在,如果我单击同一页面链接,它不会刷新。当状态有更新时,它会再次呈现。但是我希望它在 react-router 的位置更改相同时重新加载。

【问题讨论】:

  • 为什么要实现这个目标?在这种情况下不重新加载页面是预期的行为
  • @messerbill 我在反应页面中嵌套了渲染。根据某些条件,更新页面上的呈现。现在,当单击导航栏中的页面链接时,页面显示相同的条件渲染。我希望它在最初加载页面时显示它在开始时的内容。
  • @messerbill 谢谢你的链接。我已经检查了这个线程。这与我想要实现的目标有点不同。

标签: javascript reactjs react-redux react-router


【解决方案1】:

我认为简单的解决方案是使用 js 重新加载当前页面。

// if you want to reload the current page
window.location.reload(); 

// if you want to change the page
window.location.href="/path/to/another-page"

【讨论】:

  • 这并不是 OPs 问题的真正答案
  • 我已经试过了。这样做的问题是,每当我使用导航栏导航到任何其他页面时,它都会刷新所有页面。当路由更改到不同的路径时,React-Router 可以正常工作。我只希望它在路径相同时呈现初始状态。
  • @messerbill 你不知道答案,但你知道它不是什么。他已经尝试了建议。我理解他的问题,如果我能看到一些代码,我会很有帮助。
  • @CiBoz。我刚刚使用您的代码破解了一个函数。谢谢。它检查路径名是否相同,因此它重新加载页面,否则它遵循 react-router 的相同过程。
  • @CiBoz 我真的很想与您分享该项目以供贡献。只是我目前正在研究它。不过,一旦我完成了,我会分享回购。谢谢
猜你喜欢
  • 1970-01-01
  • 2017-09-12
  • 2015-11-28
  • 2018-12-22
  • 2017-12-10
  • 1970-01-01
  • 2018-07-11
  • 2020-01-23
  • 2021-01-22
相关资源
最近更新 更多